如何从内部读取ClickHouse配置的端口?HTTP端口获取咨询
获取ClickHouse的HTTP端口(内部读取方法)
要从ClickHouse内部获取HTTP端口信息,主要有两种可靠的方式,比直接查配置文件更便捷:
读取运行时实际监听的端口(推荐)
使用system.listeners表,它记录了当前ClickHouse实例所有正在监听的端口及对应协议,能返回真实生效的HTTP/HTTPS端口:SELECT port, protocol FROM system.listeners WHERE protocol IN ('http', 'https')这个表的优势是,不管启动时有没有通过命令行参数覆盖配置文件里的端口,都能拿到实际运行的端口值。
读取配置文件中设定的端口
如果只需要获取配置文件里定义的HTTP端口值,可以查询system.config表:SELECT value AS http_port FROM system.config WHERE name = 'http_port' -- 若需要HTTPS端口,替换为: -- SELECT value AS https_port FROM system.config WHERE name = 'https_port'注意这个返回的是配置项的原始值,如果启动时用命令行参数修改了端口,这个值会和实际监听的不一致。
补充说明:system.clusters表仅存储集群节点的TCP端口信息,HTTP端口不在该表范围内,所以上述两种方法是内部读取HTTP端口的正确途径。
内容的提问来源于stack exchange,提问作者Andrei Koch
相关产品推荐
相关产品推荐

