ADD HOSTS问题 Zone default_zone_xx have existed

  • nebula 版本:3.2.0
  • 部署方式:分布式
  • 安装方式:源码编译
  • 是否上生产环境:Y
  • 硬件信息
    • 磁盘( 推荐使用 SSD)
    • CPU、内存信息

通过复制data目录方法创建镜像库,add hosts时,部分storaged节点报错

image
metad显示报错:


,但show hosts时候并不存在。

    // Automatic generation zone
    auto zoneName = folly::stringPrintf("default_zone_%s_%d", host.host.c_str(), host.port);
    auto zoneRet = zoneExist(zoneName);
    if (zoneRet != nebula::cpp2::ErrorCode::E_ZONE_NOT_FOUND) {
      if (zoneRet == nebula::cpp2::ErrorCode::SUCCEEDED) {
        LOG(ERROR) << "Zone " << zoneName << " have existed";
        zoneRet = nebula::cpp2::ErrorCode::E_KEY_HAS_EXISTS;
      }
      code = zoneRet;
      break;
    }




ErrorOr<nebula::cpp2::ErrorCode, std::string> BaseProcessor<RESP>::doGet(const std::string& key) {
  std::string value;
  auto code = kvstore_->get(kDefaultSpaceId, kDefaultPartId, key, &value);
  if (code != nebula::cpp2::ErrorCode::SUCCEEDED) {
    VLOG(2) << "Get Failed";
    return code;
  }
  return value;
}

看源码中相关逻辑,会查询meta存储的元信息判断是否存在。这种情况应该是metad存储信息中已经存在了,有什么办法清掉这个host的元信息吗?

drop 下(会显示 offline),然后过一段时间之后会自己消失在你的 list 里。

show hosts查看,并没有这个host;
drop hosts不成功
image

社区版不建议用zone这个功能。这个功能设计有些问题,后面的版本已经废弃掉了。

此话题已在最后回复的 30 天后被自动关闭。不再允许新回复。