一、下載軟件包
官網鏈接:https://clickhouse.tech/#quick-start
rpm包鏈接:https://packagecloud.io/altinity/clickhouse
主要下載如下幾個軟件包
clickhouse-server-common
clickhouse-server
clickhouse-common-static
clickhouse-client
二、單機版安裝
1、安裝
sudo rpm -ivh *.rpm
2、啟動
sudo systemctl start clickhouse-server.service
3、進入到命令行
clickhouse-client
4、顯示數據庫
show databases;
5、clickhouse客戶端默認情況下,輸入一行按回車就是執行,如果不想輸入一行就執行,需要在進入命令行時指定-m參數
clickhouse命令行語法跟mysql差不多
三、集群安裝
1、安裝軟件包跟上述一樣
2、修改config.xml文件
配置文件目錄:/etc/clickhouse-server/config.xml
<!-- <listen_host>::</listen_host> -->
修改成如下:
<listen_host>::</listen_host>
3、創建metrika.xml文件
在/etc/clickhouse-server/config.d目錄下創建metrika.xml
[root@hadoop4 config.d]# cat metrika.xml
<yandex>
<clickhouse_remote_servers>
<!--集群名稱,clickhouse支持多集群的模式-->
<clickhouse_cluster>
<!--定義分片節點,這里我指定3個分片,每個分片只有1個副本,也就是它本身-->
<shard>
<internal_replication>true</internal_replication>
<replica>
<host>hadoop1</host>
<port>9000</port>
</replica>
</shard>
<shard>
<replica>
<internal_replication>true</internal_replication>
<host>hadoop2</host>
<port>9000</port>
</replica>
</shard>
<shard>
<internal_replication>true</internal_replication>
<replica>
<host>hadoop3</host>
<port>9000</port>
</replica>
</shard>
</clickhouse_cluster>
</clickhouse_remote_servers>
<!--zookeeper集群的連接信息-->
<zookeeper-servers>
<node index="1">
<host>hadoop1</host>
<port>2181</port>
</node>
<node index="2">
<host>hadoop2</host>
<port>2182</port>
</node>
<node index="3">
<host>hadoop3</host>
<port>2183</port>
</node>
</zookeeper-servers>
<!--定義宏變量,后面需要用-->
<macros>
<replica>hadoop1</replica>
</macros>
<!--不限制訪問來源ip地址-->
<networks>
<ip>::/0</ip>
</networks>
<!--數據壓縮方式,默認為lz4-->
<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>
分發到其他節點,同時修改macros標簽里面的值為對應的服務器
4、在config.xml引入metrika.xml
配置完metrika.xml后,我們需要將metrika.xml引入配置中。config.xml就是clickhouse的全局配置。路徑默認是:/etc/clickhouse-server/config.xml
在該配置文件中添加以下配置:
<!--引入metrika.xml-->
<include_from>/etc/clickhouse-server/config.d/metrika.xml</include_from>
#引用Zookeeper配置的定義
<zookeeper incl="zookeeper-servers" optional="true" />
#打開注釋,讓其他節點訪問當前節點ClickHouse
<listen_host>::</listen_host>
5、啟動集群
啟動之前需要先啟動zookeeper
在三台節點啟動clickhouse
sudo systemctl start clickhouse-server.service
6、查詢當前的集群信息
select * from system.clusters;
7、查詢zookeeper信息
在ClickHouse系統表中,提供了一張Zookeeper代理表,我們可以使用SQL輕松訪問Zookeeper內的數據,不用再像以前一樣使用客戶端登錄進去查看。
#查詢Zookeeper根目錄
select * from system.zookeeper where path = '/'
#查詢ClickHouse目錄
select * from system.zookeeper where path = '/clickhouse'
生產環境建議配置上Kerberos安全認證。
借鑒:https://blog.csdn.net/qq_42194171/article/details/109560651