Skip to main content

集群安装

前期linux配置

在安装文件详解了

安装包准备

-rw-rw-r-- 1 bigdata bigdata     22419 Mar  9 11:51 clickhouse-client-24.1.2.5.x86_64.rpm
-rw-rw-r-- 1 bigdata bigdata 275571533 Feb 2 19:47 clickhouse-common-static-24.1.2.5.x86_64.rpm
-rw-rw-r-- 1 bigdata bigdata 51555 Mar 9 11:51 clickhouse-server-24.1.2.5.x86_64.rpm

安装

集群规划

主机规划设置主机名角色
192.168.61.202hadoop1zk、clickhouse
192.168.61.203hadoop2zk、clickhouse
192.168.61.204hadoop3zk、clickhouse

安装包安装

安装包分发到所有的机器(hadoop1,hadoop2,hadoop3)

./xsync.sh /home/bigdata/package/clickhouse
sudo rpm -ivh *.rpm

#出现Enter password for default user:直接回车就是空密码,后期配置文件配置

#安装的时候如果要输入密码直接回车就不需要输入密码

#clickhouse查看安装情况
sudo rpm -qa | grep clickhouse

[bigdata@hadoop1 clickhouse]$ sudo rpm -qa | grep clickhouse
clickhouse-server-24.1.2.5-1.x86_64
clickhouse-client-24.1.2.5-1.x86_64
clickhouse-common-static-24.1.2.5-1.x86_64

修改配置文件

进入配置文件目录(切换root配置文件)

cd /etc/clickhouse-server/

创建数据保存和日志保存目录

mkdir /home/bigdata/package/clickhouse/log
mkdir /home/bigdata/package/clickhouse/data
mkdir /home/bigdata/package/clickhouse/tmp
mkdir /home/bigdata/package/clickhouse/caches
chmod 777 -R /home/bigdata/package/clickhouse/log
chmod 777 -R /home/bigdata/package/clickhouse/data
chmod 777 -R /home/bigdata/package/clickhouse/tmp
chmod 777 -R /home/bigdata/package/clickhouse/caches
chown root:root -R /home/bigdata/package/clickhouse/log
chown root:root -R /home/bigdata/package/clickhouse/data
chown root:root -R /home/bigdata/package/clickhouse/tmp
chown root:root -R /home/bigdata/package/clickhouse/caches

config.xml

touch /etc/clickhouse-server/metrika.xml
vim /etc/clickhouse-server/config.xml

数据日志和数据文件保存位置

 <log>/home/bigdata/package/clickhouse/log/clickhouse-server.log</log>
<errorlog>/home/bigdata/package/clickhouse/data/clickhouse-server.err.log</errorlog>
<!-- Cache path for custom (created from SQL) cached disks -->
<custom_cached_disks_base_directory>/home/bigdata/package/clickhouse/caches/</custom_cached_disks_base_directory>
<!-- Path to data directory, with trailing slash. -->
<path>/home/bigdata/package/clickhouse/data/</path>
<!-- Path to temporary data for processing hard queries. -->
<tmp_path>/home/bigdata/package/clickhouse/tmp/</tmp_path>
<!-- Same for hosts without support for IPv6: -->
<listen_host>0.0.0.0</listen_host>
<!-- 下面这个要手动添加 -->
<include_from>/etc/clickhouse-server/metrika.xml</include_from>
<remote_servers incl="clickhouse_remote_servers" optional="true" />
<zookeeper incl="zookeeper-servers" optional="true" />

metrika.xml

vim /etc/clickhouse-server/metrika.xml
<yandex>
<!-- /etc/clickhouse-server/config.xml 中配置的remote_servers的incl属性值,需要在config.xml中指定,默认为remote_servers-->
<clickhouse_remote_servers>
<clickhouse_cluster><!-- 自定义的集群名 -->
<!-- 数据分片1 -->
<shard>
<internal_replication>true</internal_replication>
<!-- 分片1的副本,只设置一个,就是它本身 -->
<replica>
<host>hadoop1</host>
<port>9000</port>
</replica>
</shard>
<!-- 数据分片2 -->
<shard>
<internal_replication>true</internal_replication>
<replica>
<host>hadoop2</host>
<port>9000</port>
</replica>
</shard>
<!-- 数据分片3 -->
<shard>
<internal_replication>true</internal_replication>
<replica>
<host>hadoop3</host>
<port>9000</port>
</replica>
</shard>
</clickhouse_cluster><!-- 自定义的集群名 -->
</clickhouse_remote_servers>

<!-- 本节点副本名称 -->
<macros>
<replica>hadoop1</replica>
</macros>

<!-- 监听网络-->
<networks>
<ip>::/0</ip>
</networks>

<!-- /etc/clickhouse-server/config.xml 中配置的zookeeper的incl属性值,需要在config.xml中指定,默认为zookeeper-->
<!--zookeeper相关配置-->
<zookeeper-servers>
<!-- index是连接zookeeper的顺序,zookeeper中节点的index顺序需要与主机名或者ip匹配,不一定一一对应,可以去查看一下你部署的zookeeper主机映射,保证节点映射匹配-->
<node index="1">
<host>hadoop1</host>
<port>2181</port>
</node>
<node index="2">
<host>hadoop2</host>
<port>2181</port>
</node>
<node index="3">
<host>hadoop3</host>
<port>2181</port>
</node>
</zookeeper-servers>

<!-- 数据压缩算法 -->
<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>

分发配置文件

sudo ./xsync.sh /etc/clickhouse-server

修改其他机器的metrika.xml

vim /etc/clickhouse-server/metrika.xml
 <!-- 本节点副本名称 -->
<macros>
<replica>hadoop2</replica>
</macros>

集群启动脚本

启动的时候打印日志

下面启动脚本启动不了时可以用这个启动。

clickhouse-server --config-file=/etc/clickhouse-server/config.xml
nohup clickhouse-server --config-file=/etc/clickhouse-server/config.xml &

集群启动脚本

报错检查

journalctl -u clickhouse-server
#!/bin/bash

case $1 in
"start"){
for i in hadoop1 hadoop2 hadoop3
do
echo " --------启动 $i clickhouse-------"
ssh $i "sudo systemctl start clickhouse-server"
done
};;
"status"){
for i in hadoop1 hadoop2 hadoop3
do
echo " --------启动 $i clickhouse-------"
ssh $i "systemctl status clickhouse-server"
done
};;
"stop"){
for i in hadoop1 hadoop2 hadoop3
do
echo " --------停止 $i clickhouse-------"
ssh $i "sudo systemctl stop clickhouse-server"
done
};;
esac

客户端连接脚本

clickhouse-client  -m -u default
clickhouse-client -h ip地址 -d default -m -u default --password 密码明文

查看集群启动情况

SELECT * FROM system.clusters

web界面

http://hadoop1:8123/play