- nebula 版本:2.6.0
- 部署方式:单机
- 安装方式: Docker-compose
- 是否为线上版本:N
- 硬件信息
96C200G30T - 问题的具体描述:
用importer导入数据,挂上之后,过了几天回公司之后发现一直有两个storage处在unhealthy和starting状态,然后console连接之后想submit job stats一直failed
你咋部署服务的。
docker-compose部署三个graphd三个meta三个storage,现在其中两个storage交替处在unhealthy和starting状态,上边表达可能不太详细
有 storage 的错误日志吗?
172.18.0.5 是服务部署的那台机器吗
172.18.0.5上部署的是storaged0
1 和 2 的配置是啥,这样你把配置文件也贴一下
docker-compose.yaml在这个连接:
所以你配置完全没改?还是原来的那份?
对的,没有动过,啥都没动过,就导数之后,回来看就这样了
有没有可能这两个服务使用的磁盘空间不够了
看报错是不是手动配置了 ip,而 docker 里内部 ip 是随机分配的,因为一些原因重启之后,分配的ip和配置的本机ip不匹配了。
1 个赞
我单独进了storage0和storage1的容器,查了一下ip,和docker-compose.yaml中是对应上的,storage0是05,storage1是07
进容器之后我发现,没一会就会自动退出容器,两个容器都是这样,是nebula检测有问题,会自动重启吗
至少从这个日志看,当时被列出来的(本容器ip)是 .4,但是配置项为 .5 。
如果现在是匹配的,storaged 退出前没有新的错误日志么?
Status NetworkUtils::validateHostOrIp(const std::string& hostOrIp) {
...
auto ipsStatus = listIPv4s();
NG_RETURN_IF_ERROR(ipsStatus);
const auto& ips = ipsStatus.value();
auto result = std::find(ips.begin(), ips.end(), hostOrIp);
if (result == ips.end()) {
return Status::Error("%s is not a valid ip in current host, candidates: %s",
hostOrIp.c_str(),
folly::join(",", ips).c_str());
}
需要换一下ip吗,但是日志里的172.18.0.4是meta1的
这么手写 ip 在docker配置里根本就不科学哈,还是应该写容器名字。
那我写死的ip改回去么,会对现有的数据有影响么…