> 技术文档 > ClickHouse常见问题——ClickHouseKeeper配置listen_host后不生效

ClickHouse常见问题——ClickHouseKeeper配置listen_host后不生效


ClickHouseKeeper配置listen_host后不生效

      • ClickHouseKeeper配置listen_host后不生效

ClickHouseKeeper配置listen_host后不生效

3节点部署ClickHouse集群后,ClickHouse Server执行报错:

Poco::Exception. Code: 1000, e.code() = 111, Connection refused (version 25.7.4.11 (official build)), 192.168.0.106:9181
Poco::Exception. Code: 1000, e.code() = 111, Connection refused (version 25.7.4.11 (official build)), 192.168.0.107:9181
Poco::Exception. Code: 1000, e.code() = 111, Connection refused (version 25.7.4.11 (official build)), 192.168.0.105:9181
Poco::Exception. Code: 1000, e.code() = 111, Connection refused (version 25.7.4.11 (official build)), 192.168.0.106:9181
Poco::Exception. Code: 1000, e.code() = 111, Connection refused (version 25.7.4.11 (official build)), 192.168.0.107:9181
Poco::Exception. Code: 1000, e.code() = 111, Connection refused (version 25.7.4.11 (official build)), 192.168.0.105:9181
Poco::Exception. Code: 1000, e.code() = 111, Connection refused (version 25.7.4.11 (official build)), 192.168.0.106:9181
Poco::Exception. Code: 1000, e.code() = 111, Connection refused (version 25.7.4.11 (official build)), 192.168.0.107:9181
Poco::Exception. Code: 1000, e.code() = 111, Connection refused (version 25.7.4.11 (official build)), 192.168.0.105:9181

ClickHouse常见问题——ClickHouseKeeper配置listen_host后不生效

9181端口是ClickHouseKeeper的连接端口,报错原因为ClickHouseServer连接不上ClickHouseKeeper

使用netstat -nap | grep 9181查看9181端口

ClickHouse常见问题——ClickHouseKeeper配置listen_host后不生效

发现只暴露127.0.0.1本机地址,再使用curl -kv 本机ip:9181

ClickHouse常见问题——ClickHouseKeeper配置listen_host后不生效

再查看ClickHouseKeeper配置文件,默认配置路径为/etc/clickhouse-keeper/keeper_config.xml

<clickhouse> <logger>  </logger> <max_connections>4096</max_connections> <keeper_server> <tcp_port>9181</tcp_port> <listen_host>0.0.0.0</listen_host>  <server_id>1</server_id>  </keeper_server>

ClickHouse常见问题——ClickHouseKeeper配置listen_host后不生效

难道是listen_host配置问题?查找官网文档也没说的很详细

ClickHouse常见问题——ClickHouseKeeper配置listen_host后不生效

官网地址:https://clickhouse.com/docs/zh/guides/sre/keeper/clickhouse-keeper

翻阅代码,发现取的是clickhouse标签下的listen_host标签。
ClickHouse常见问题——ClickHouseKeeper配置listen_host后不生效

 std::vector<std::string> listen_hosts = DB::getMultipleValuesFromConfig(config(), \"\", \"listen_host\"); // 此处第二个参数代表根节点,说明是直接在根节点下 bool listen_try = config().getBool(\"listen_try\", false); if (listen_hosts.empty()) { listen_hosts.emplace_back(\"::1\"); listen_hosts.emplace_back(\"127.0.0.1\"); listen_try = true; }

ClickHouse常见问题——ClickHouseKeeper配置listen_host后不生效

所以正常应该如下配置

ClickHouse常见问题——ClickHouseKeeper配置listen_host后不生效

之后systemctl restart clickhouse-keeper重启ClickHouseKeeper

ClickHouse常见问题——ClickHouseKeeper配置listen_host后不生效