storaged、metad的RPC和Raftex协议监听是否可以设置监听ip?

  • nebula 版本:3.6.0

  • 部署方式:分布式

  • 安装方式:源码编译

  • 是否上生产环境:Y

  • 问题描述:metad和storaged设置local ip之后,RPC和Raft监听地址不生效

  • 相关的 meta / storage / graph info 日志信息(尽量使用文本形式方便检索)


请问有人关注这个问题吗?

有,不过因为没有操作步骤,所以也没太看懂问题。只能默默的关注这个问题

我来直接贴一下代码哈,请大佬们看下当前这么做是否是有意为之。

std::shared_ptr RaftexService::createService(
std::shared_ptrfolly::IOThreadPoolExecutor ioPool,
std::shared_ptrfolly::Executor workers,
uint16_t port) {
try {
auto svc = std::shared_ptr(new RaftexService());
auto server = std::make_uniqueapache::thrift::ThriftServer();
server->setPort(port);
server->setIdleTimeout(std::chrono::seconds(0));
if (ioPool != nullptr) {
server->setIOThreadPool(ioPool);
}
if (workers != nullptr) {
server->setThreadManager(
std::dynamic_pointer_castapache::thrift::concurrency::ThreadManager(workers));
}
if (FLAGS_enable_ssl) {
server->setSSLConfig(nebula::sslContextConfig());
}
server->setInterface(svc);
server->setup();
svc->server_ = std::move(server);
svc->serverPort_ = svc->server_->getAddress().getPort();
LOG(INFO) << "Start raft service on " << svc->serverPort_;
return svc;
} catch (const std::exception& e) {
LOG(ERROR) << "Start raft service failed: " << e.what();
return nullptr;
} catch (…) {
LOG(ERROR) << “Start raft service failed”;
return nullptr;
}
}

上述 auto server = std::make_uniqueapache::thrift::ThriftServer();在生成server时,并未读取–local_ip配置,因此启动RaftService后,该进程监控的ip地址为0.0.0.0

image

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