一、clickhouse介绍
clickhouse 是俄罗斯的“百度”Yandex公司在2016年开源的,一款针对大数据实时分析的高性能分布式数据库,与之对应的有hadoop生态hive,Vertica和百度出品的palo。这是战斗民族继nginx后,有开源的一款“核武器”。据官方介绍,clickhouse 有以下优点:
1. 面向列式
2. 数据压缩
3. 多核并行处理
4. 分布式部署
5. 支持sql
6. 向量引擎
7. 实时写入
8. 异步复制
二、安装与搭建
拉取repo源
curl -s https://packagecloud.io/install/repositories/altinity/clickhouse/script.rpm.sh | sudo bash
在root账号下,使用yum安装
yum list 'clickhouse*'
yum –y install 'clickhouse*'
安装完成后,会在$PATH下等到clickhouse-server/ clickhouse-client等命令,可以使用次命令直接启动clickhouse-server
启动server
clickhouse-server --daemon --config-file=/etc/clickhouse-server/config.xml --pid-file=/var/run/clickhouse-server/clickhouse-server.pid
客户端连接
clickhouse-client --host=... --port=... --user=... --password=...
默认:clickhouse-client即可
三、clickhouse设置
clickhouse的server配置,在/etc/clickhouse-server/config.xml及user.xml,前者是clickhouse的系统配置,包括日志,服务部署ip,zk等配置。后者是当前节点服务的配置,包括用户名密码,内存大小限制等
config.xml
四、安装与运行问题
问题:
Include not found: clickhouse_remote_servers
Include not found: clickhouse_compression
Poco::Exception. Code: 1000, e.code() = 0, e.displayText() = Exception: Cannot set max size of core file to 1073741824, e.what() = Exception
解决:
没有开放core文件写入,使用命令: ulimit -c 1073741824, 开放即可。
问题:
<Error> Application: DNS error: EAI: -9
解决:
本机没有开放ipv6,只能对ipv4生效。可以考虑在config.xml中,把<listen_host>::</listen_host> 改成<listen_host>0.0.0.0</listen_host>
问题:
:Memory limit (for query) exceeded: would use 9.31 GiB (attempt to allocate chunk of 1048576 bytes), maximum: 9.31 GiB
解决:
修改user.xml里max_memory_usage 值,把他改大一些,默认是953M,不到1G,可以改到2G