故障排除
安装
使用 apt-key 无法从 keyserver.ubuntu.com 导入 GPG 密钥
apt-key
功能已被高级包工具 (APT) 弃用。用户应改用 gpg
命令。请参阅安装指南文章。
使用 gpg 无法从 keyserver.ubuntu.com 导入 GPG 密钥
- 查看你的
gpg
是否已安装:
使用 apt-get 无法从 ClickHouse 仓库获取 deb 包
- 检查防火墙设置。
- 如果由于某种原因无法访问仓库,请按照安装指南中的说明下载软件包,并使用
sudo dpkg -i <packages>
命令手动安装它们。你还需要tzdata
包。
使用 apt-get 无法从 ClickHouse 仓库更新 deb 包
当 GPG 密钥发生更改时,可能会出现此问题。
请使用设置页面中的手册更新仓库配置。
使用 apt-get update
时收到不同的警告
完整的警告信息如下所示:
要解决上述问题,请使用以下脚本:
因签名错误无法使用 Yum 获取软件包
可能的问题:缓存错误,也许是在 2022-09 更新 GPG 密钥后损坏。
解决方案是清除 Yum 的缓存和 lib 目录:
之后请参阅安装指南
连接到服务器
可能的问题:
- 服务器未运行。
- 配置参数意外或错误。
服务器未运行
检查服务器是否运行
如果服务器未运行,请使用以下命令启动它:
检查日志
clickhouse-server
的主要日志默认在 /var/log/clickhouse-server/clickhouse-server.log
中。
如果服务器成功启动,你应该看到以下字符串:
<Information> Application: starting up.
— 服务器已启动。<Information> Application: Ready for connections.
— 服务器正在运行并准备接受连接。
如果 clickhouse-server
因配置错误而启动失败,你应该看到带有错误描述的 <Error>
字符串。例如:
如果你在文件末尾没有看到错误,请从字符串开始浏览整个文件:
如果你尝试在服务器上启动第二个 clickhouse-server
实例,会看到以下日志:
查看 system.d 日志
如果你在 clickhouse-server
日志中找不到任何有用的信息,或者没有日志,可以使用以下命令查看 system.d
日志:
在交互模式下启动 clickhouse-server
此命令将以交互应用程序的形式启动服务器,并使用自动启动脚本的标准参数。在此模式下,clickhouse-server
会在控制台中打印所有事件消息。
配置参数
检查:
-
Docker 设置:
- 如果你在 IPv6 网络中运行 ClickHouse,请确保设置
network=host
。
- 如果你在 IPv6 网络中运行 ClickHouse,请确保设置
-
端点设置。
- 检查 listen_host 和 tcp_port 设置。
- ClickHouse 服务器默认仅接受本地连接。
-
HTTP 协议设置:
- 检查 HTTP API 的协议设置。
-
安全连接设置。
- 检查:
- tcp_port_secure 设置。
- SSL 证书 的设置。
- 使用合适的参数进行连接。例如,使用
clickhouse_client
的port_secure
参数。
- 检查:
-
用户设置:
- 你可能使用了错误的用户名或密码。
查询处理
如果 ClickHouse 无法处理查询,它会将错误描述发送给客户端。在 clickhouse-client
中,你将在控制台上看到错误描述。如果你使用的是 HTTP 接口,ClickHouse 会将错误描述发送到响应体中。例如:
如果你使用 stack-trace
参数启动 clickhouse-client
,ClickHouse 将返回服务器的堆栈跟踪及错误描述。
你可能会看到有关断开连接的消息。在这种情况下,你可以重复查询。如果在每次执行查询时连接都断开,请检查服务器日志以查找错误。
查询处理的效率
如果你发现 ClickHouse 工作过慢,你需要分析服务器资源和网络的负载以优化你的查询。
你可以使用 clickhouse-benchmark 工具来分析查询性能。它显示每秒处理的查询数量、每秒处理的行数以及查询处理时间的百分位数。