CnosDB正常启动时出现MetaClientErr错误求助
问题详情
启动CnosDB时出现MetaClientErr错误,错误日志如下:
2023-10-25T10:17:38.352353000+08:00 INFO meta::model::meta_admin: watch response wrong Err(MetaClientErr { msg: "NetworkError: reqwest::error::Error: error sending request for url (http://127.0.0.1:8901/watch): connection closed before message completed source: connection closed before message completed" })
使用版本:CnosDB 2.3.3,修订版本号d86358a6fc813f4b83b36f0005448e7140a2d4e0
启动命令:./target/release/cnosdb run --config ./config/config_8902.toml -M singleton
排查步骤
检查配置文件的Meta服务配置
打开config_8902.toml,查看Meta相关配置项:- 确认
meta_address是否设置为http://127.0.0.1:8901 - 检查当前节点的Meta服务监听端口(通常在
metasection的bind_address)是否为8901,避免配置的连接地址与实际监听端口不匹配。
- 确认
验证端口8901的占用情况
执行以下命令检查端口是否被其他进程占用:lsof -i :8901 # 或 netstat -tulpn | grep 8901如果端口被占用,终止占用进程或修改CnosDB的Meta服务端口。
查看完整启动日志
检查启动时的完整日志,确认Meta服务是否成功启动,是否存在端口绑定失败、初始化异常等前置错误,这些问题会导致后续的watch请求失败。测试本地端口连通性
使用telnet或curl测试本地回环地址的8901端口是否可访问:telnet 127.0.0.1 8901 # 或 curl http://127.0.0.1:8901/health若无法连通,排查本地防火墙、安全策略是否拦截了该端口的连接。
尝试默认配置启动
暂时不指定自定义配置文件,使用默认配置启动CnosDB:./target/release/cnosdb run -M singleton如果默认配置下能正常启动,说明自定义配置文件
config_8902.toml存在错误。
内容的提问来源于stack exchange,提问作者cosmic

