clickhouse 无法远程连接
Posted 福州-司马懿
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了clickhouse 无法远程连接相关的知识,希望对你有一定的参考价值。
lsof 命令
lsof
命令用来从系统获得与网络连接相关的信息,全称为 “列出打开文件(lists openfiles)”。这是因为,在Unix中的一切(包括网络套接字)都是文件。
lsof -i
用来查看当前IPv4或IPv6的任务
lsof -i :<端口号>
用来查看指定端口的套接字线程(注意:冒号的右边不能有空格,左边随意)
从上面可以看到 clickhouse 默认只监听本地的8123端口。所以,在本地使用 /usr/bin/clickhouse-client --host localhost --port 8123
可以连接成功。但在外部就无法访问了(我这里 clickhouse 装在虚拟机上,外部主机使用 dbeaver 连接)
修改配置文件
查看 clickhouse-server 的配置文件 ls /etc/clickhouse-server
,以下两个文件待修改
- config.xml
- users.xml
vim 编辑器基础
/<关键词>
在文档中搜索关键词,并高亮显示。按 “回车”,光标聚焦到关键词处,按 “n” 键,搜索下一个
i
进入编辑模式
Esc
退出当前模式
:wq
保存并退出
:q!
强制退出(对于只读文件,必须加感叹号强制执行)
:wq!
强制保存退出(对于只读文件,必须加感叹号强制执行)
config.xml
vim /etc/clickhouse-server/config.xml
取消 <listen_host>::</listen_host>
的注释,这个表示监听来自任意IP地址的连接
users.xml
vim /etc/clickhouse-server/users.xml
确保来自任意IP地址的连接都能访问
<networks>
<ip>::/0</ip>
</networks>
重新启动
/etc/init.d/clickhouse-server stop
/etc/init.d/clickhouse-server start
# 或
/etc/init.d/clickhouse-server restart
# 查看 clickhouse-server 状态
/etc/init.d/clickhouse-server status
再使用 lsof -i :8123
查看状态,可以发现地址由 localhost 变为 * 了。
连接clickhouse
使用开源的 dbeaver 连接 clickhouse的8123端口,可以看到,现在已经可以连上了
以上是关于clickhouse 无法远程连接的主要内容,如果未能解决你的问题,请参考以下文章
clickhoseclickhouse-client 无法登录 could not determine local time zone custom time zone file used
在Ubuntu20.04安装单节点ClickHouse22.8.4并解决DB::NetException: Connection refused NETWORK_ERROR导致无法远程访问的问题
在Ubuntu20.04安装单节点ClickHouse22.8.4并解决DB::NetException: Connection refused NETWORK_ERROR导致无法远程访问的问题
在Ubuntu20.04安装单节点ClickHouse22.8.4并解决DB::NetException: Connection refused NETWORK_ERROR导致无法远程访问的问题