集群安装
前期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.202 | hadoop1 | zk、clickhouse |
| 192.168.61.203 | hadoop2 | zk、clickhouse |
| 192.168.61.204 | hadoop3 | zk、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