使用默认配置启动CnosDB单节点后客户端无法连接求助
CnosDB客户端连接失败排查方案
问题详情
- 环境:CnosDB 2.4.0,修订版721266b
- 操作流程:
- 执行命令启动单节点:
sudo ./target/release/cnosdb run -M singleton - 用cnosdb-cli连接后输入
\d,触发报错:error sending request for url (http://localhost:8902/api/v1/sql?tenant=cnosdb&db=public&chunked=false): error trying to connect: tcp connect error: Connection refused (os error 61) - 查看启动日志,未发现服务端口相关输出,启动日志内容如下:
➜ cnosdb git:(main) ✗ sudo ./target/release/cnosdb run -M singleton [global] node_id = 1001 host = 'localhost' cluster_name = 'cluster_xxx' store_metrics = true [deployment] mode = 'query_tskv' cpu = 8 memory = 16 [meta] service_addr = ['127.0.0.1:8901'] report_time_interval_secs = 30 [query] max_server_connections = 10240 query_sql_limit = 16777216 write_sql_limit = 167772160 auth_enabled = false read_timeout_ms = 3000 write_timeout_ms = 3000 stream_trigger_cpu = 1 stream_executor_cpu = 2 [storage] path = '/var/lib/cnosdb/data' max_summary_size = '128M' base_file_size = '16M' flush_req_channel_cap = 16 max_cached_readers = 32 max_level = 4 compact_trigger_file_num = 4 compact_trigger_cold_duration = '1h' max_compact_size = '2G' max_concurrent_compaction = 4 strict_write = false reserve_space = '0' [wal] enabled = true path = '/var/lib/cnosdb/wal' wal_req_channel_cap = 64 max_file_size = '1G' flush_trigger_total_file_size = '2G' sync = false sync_interval = '0' [cache] max_buffer_size = '128M' partition = 8 [log] level = 'info' path = '/var/log/cnosdb' [security] [service] grpc_enable_gzip = false enable_report = true ...
- 执行命令启动单节点:
排查步骤
补全服务端口配置
客户端请求的8902端口未在日志中出现,说明服务可能未绑定该端口。在配置的[service]段添加明确的端口绑定:[service] http_addr = "0.0.0.0:8902" rpc_addr = "0.0.0.0:8901" grpc_enable_gzip = false enable_report = true重启服务后再尝试连接。
验证端口监听状态
执行命令检查8902端口是否被CnosDB进程监听:netstat -tulpn | grep cnosdb # 或 lsof -i :8902若端口未被监听,去
/var/log/cnosdb目录查看详细日志,排查启动失败原因(比如目录权限不足、依赖缺失等)。修复目录权限
启动用了sudo,但要确保数据和日志目录权限正确:ls -ld /var/lib/cnosdb /var/log/cnosdb若权限异常,执行命令修正:
sudo chown -R cnosdb:cnosdb /var/lib/cnosdb /var/log/cnosdb切换启动模式测试
尝试用standalone模式启动服务,替代当前的singleton:sudo ./target/release/cnosdb run -M standalone启动后再测试客户端连接。
调整客户端连接参数
若服务端绑定的是0.0.0.0,尝试用IP指定连接:cnosdb-cli --host 127.0.0.1
内容的提问来源于stack exchange,提问作者flashbo
相关产品推荐
相关产品推荐

