ClickHouse 安装及使用
ClickHouse 是俄罗斯的Yandex于2016年开源的列式存储数据库(DBMS),主要用于在线分析处理查询(OLAP),能够使用SQL查询实时生成分析数据报告。
一、安装前准备
1.1 Centos取消打开文件数限制
在/etc/security/limits.conf、/etc/security/limits.d/90-nproc.conf这2个文件的末尾加入一下内容:
[root@hadoop1 software]# vim /etc/security/limits.conf
在文件末尾添加:
* soft nofile 65536
* hard nofile 65536
* soft nproc 131072
* hard nproc 131072
[root@hadoop1 software]# vim /etc/security/limits.d/90-nproc.conf
在文件末尾添加:
* soft nofile 65536
* hard nofile 65536
* soft nproc 131072
* hard nproc 131072
重启服务器之后生效,用ulimit -n 或者ulimit -a查看设置结果。
1.2 取消Selinux
修改/etc/selinux/config中的SELINUX=disabled后重启
[root@hadoop1 ~]# vim /etc/selinux/config
SELINUX=disabled
1.3 安装依赖
[root@hadoop1 ~]# yum install -y libtool
[root@hadoop1 ~]# yum install -y *unixODBC*
二、单机安装
安装包下载地址:
官网:https://clickhouse.yandex/
下载地址:http://repo.red-soft.biz/repos/clickhouse/stable/el6/
2.1上传下载的rpm包并rpm安装
[root@hadoop1 software]# rpm -ivh *.rpm
Preparing... ########################################### [100%]
1:clickhouse-server-commo########################################### [ 20%]
2:clickhouse-server ########################################### [ 40%]
3:clickhouse-client ########################################### [ 60%]
4:clickhouse-debuginfo ########################################### [ 80%]
5:clickhouse-compressor ########################################### [100%]
2.2 启动clickhouse服务端
利用命令clickhouse-server --config-file=/etc/clickhouse-server/config.xml
,启动单机安装的服务。
2.3 启动clickhouse客户端
利用命令clickhouse-client
启动客户端。
三、分布式安装
3.1 修改配置文件
修改每一台机器的config.xml,将监听改为监听所有机器,注释监听本机的两行设置。
[root@hadoop1 ~]# vim /etc/clickhouse-server/config.xml
<listen_host>::</listen_host>
<!-- <listen_host>::1</listen_host> -->
<!-- <listen_host>127.0.0.1</listen_host> -->
3.2 增加metrika.xml文件
在/etc目录下,新建metrika.xml文件,并增加配置内容,内容如下:
<yandex>
<clickhouse_remote_servers>
<!-- ck集群名称,可自定义,以下自定义为perftest_3shards_1replicas-->
<perftest_3shards_1replicas>
<shard>
<internal_replication>true</internal_replication>
<replica>
<host>${ck机器1}</host>
<port>9000</port>
</replica>
</shard>
<shard>
<replica>
<internal_replication>true</internal_replication>
<host>${ck机器2}</host>
<port>9000</port>
</replica>
</shard>
<shard>
<internal_replication>true</internal_replication>
<replica>
<host>${ck机器3}</host>
<port>9000</port>
</replica>
</shard>
</perftest_3shards_1replicas>
</clickhouse_remote_servers>
<!--配置zookeeper -->
<zookeeper-servers>
<node index="1">
<host>${zk机器1}</host>
<port>2181</port>
</node>
<node index="2">
<host>${zk机器2}</host>
<port>2181</port>
</node>
<node index="3">
<host>${zk机器3}</host>
<port>2181</port>
</node>
</zookeeper-servers>
<!--当前机器,根据每台机器不同,需要修改 -->
<macros>
<replica>${本机器ip或hostname}</replica>
</macros>
<networks>
<ip>::/0</ip>
</networks>
<clickhouse_compression>
<case>
<min_part_size>10000000000</min_part_size>
<min_part_size_ratio>0.01</min_part_size_ratio>
<method>lz4</method>
</case>
</clickhouse_compression>
</yandex>
3.3 启动每台机器的clickhouse服务端
利用命令clickhouse-server --config-file=/etc/clickhouse-server/config.xml
,启动每台机器的ck服务端。