ClickHouse常见问题——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

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

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

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

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

xml 复制代码
<clickhouse>
    <logger>
        <!--日志配置-->
    </logger> 

    <max_connections>4096</max_connections>

    <keeper_server>
            <tcp_port>9181</tcp_port>
            <listen_host>0.0.0.0</listen_host>
            <!-- Must be unique among all keeper serves -->
            <server_id>1</server_id>
        	<!--其他-->
    </keeper_server>

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

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

翻阅代码,发现取的是clickhouse标签下的listen_host标签。

cpp 复制代码
    std::vector<std::string> listen_hosts = DB::getMultipleValuesFromConfig(config(), "", "listen_host"); // 此处第二个参数代表根节点,说明是直接在<Clickhouse>根节点下

    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;
    }

所以正常应该如下配置

之后systemctl restart clickhouse-keeper重启ClickHouseKeeper

相关推荐
r i c k3 小时前
数据库系统学习笔记
数据库·笔记·学习
盐真卿3 小时前
python第八部分:高级特性(二)
java·开发语言
上海合宙LuatOS3 小时前
LuatOS核心库API——【audio 】
java·网络·单片机·嵌入式硬件·物联网·音视频·硬件工程
汤姆yu4 小时前
基于springboot的尿毒症健康管理系统
java·spring boot·后端
TT哇4 小时前
【实习】银行经理端线下领取扫码功能实现方案
java
野犬寒鸦4 小时前
从零起步学习JVM || 第一章:类加载器与双亲委派机制模型详解
java·jvm·数据库·后端·学习
黎雁·泠崖4 小时前
【魔法森林冒险】2/14 抽象层设计:Figure/Person类(所有角色的基石)
java·开发语言
IvorySQL4 小时前
PostgreSQL 分区表的 ALTER TABLE 语句执行机制解析
数据库·postgresql·开源
怒放吧德德4 小时前
后端 Mock 实战:Spring Boot 3 实现入站 & 出站接口模拟
java·后端·设计
·云扬·5 小时前
MySQL 8.0 Redo Log 归档与禁用实战指南
android·数据库·mysql