宝塔使用clickhouse踩坑

前言

最近有个物联网项目,需要存储物联网终端发送过来的信息(类似log日志,但又要存储在数据库里,方便后期聚合统计),本来想写文件的奈何客户要求聚合统计,所以只能用数据库才能达到更高的计算效率,当然mysql对这种日志型数据库并没有优势,数据量上去后反而不利于计算,所以就研究了一下列式数据库,看到宝塔有clickhouse就研究了一下,但是期间遇到很多坑这里把解决方案分享出来供大家参考

踩坑

1号坑 docker内部无法访问宿主机的clickhouse

shell 复制代码
[error] failed to initialize database, got error dial tcp 172.17.0.1:9000: connect: connection refused
  • 解决方案:
    1) 使用网卡docker0的ip地址访问,在宿主机执行ip add即可看到这个网卡

    我的env配置如下

    DB_CLICK_HOST=172.17.0.1

2)上面ip配置后依然无法访问,提示connect: connection refused,这里还要修改配置文件,在端口下面添加listen_host即可:

conf 复制代码
<listen_host>0.0.0.0</listen_host>

3)上面ip配置后依然无法访问,提示connect: connection refused,这里还要进行宝塔>安全>系统防火墙端口放行(如果需要外网访问clickhouse,那还需要到运营商那边放开对应端口,只是docker容器访问不需要到运营商放):

2号坑 能链接了,但是提示密码或者用户不对

报错如下:

shell 复制代码
[0m[31m[error] [0mfailed to initialize database, got error code: 516, message: default: Authentication failed: password is incorrect, or there is no user with such name.

If you have installed ClickHouse and forgot password you can reset it in the configuration file.
The password for default user is typically located at /etc/clickhouse-server/users.d/default-password.xml
and deleting this file will reset the password.
See also /etc/clickhouse-server/users.xml on the server where ClickHouse is installed.

出现这个问题需要将密码放到user.xml配置中去(clickhouse面板配置的密码好像无效,这个问题我反馈给宝塔官方了看这里https://www.bt.cn/bbs/thread-139714-1-1.html)

相关推荐
unhurried人生——冕临2 天前
Ubuntu安装ClickHouse
clickhouse
爱吃萝卜的猪13 天前
Clickhouse源码分析-Replicated Database创建流程
clickhouse
编程的大耳朵13 天前
ClickHouse 概述
clickhouse
Ethan301414 天前
Clickhouse官方文档学习笔记
笔记·学习·clickhouse
weixin_3077791314 天前
Python实现MySQL建表语句转换成Clickhouse SQL
数据库·python·sql·mysql·clickhouse
大千AI助手24 天前
硬核实战 | 3分钟Docker部署ClickHouse列存数据库
大数据·clickhouse·docker·database
Sayai25 天前
dbeaver 查询clickhouse,数据库时间差了8小时
数据库·clickhouse·oracle
weixin_307779131 个月前
Clickhouse统计指定表中各字段的空值、空字符串或零值比例
运维·数据仓库·clickhouse
weixin_307779131 个月前
Linux下GCC和C++实现统计Clickhouse数据仓库指定表中各字段的空值、空字符串或零值比例
linux·运维·c++·数据仓库·clickhouse
斯特凡今天也很帅1 个月前
clickhouse常用语句汇总——持续更新中
数据库·sql·clickhouse