一、安装clickhouse-keeper
1、每台机器都下载clickhouse-keeper
sudo yum install -y yum-utils
sudo yum-config-manager --add-repo https://packages.clickhouse.com/rpm/clickhouse.repo
sudo yum install -y clickhouse-keeper
2、修改配置文件
vim /etc/etc/clickhouse-keeper/keeper_config.xml
1、192.168.1.41
<clickhouse>
<logger>
###以下内容需要注意###
<level>warning</level>
<log>/data/logs/clickhouse-keeper/clickhouse-keeper.log</log>
<errorlog>/data/logs/clickhouse-keeper/clickhouse-keeper.err.log</errorlog>
####################
<size>1000M</size>
<count>10</count>
</logger>
<listen_host>0.0.0.0</listen_host>
<max_connections>4096</max_connections>
<keeper_server>
<tcp_port>9181</tcp_port>
###以下内容需要注意###
<server_id>1</server_id>
<log_storage_path>/portal/clickhouse/coordination/logs</log_storage_path>
<snapshot_storage_path>/portal/clickhouse/coordination/snapshots</snapshot_storage_path>
####################
<coordination_settings>
<operation_timeout_ms>10000</operation_timeout_ms>
<min_session_timeout_ms>10000</min_session_timeout_ms>
<session_timeout_ms>100000</session_timeout_ms>
<raft_logs_level>information</raft_logs_level>
<compress_logs>false</compress_logs>
</coordination_settings>
<hostname_checks_enabled>true</hostname_checks_enabled>
###以下内容需要注意###
<raft_configuration>
<server>
<id>1</id>
<hostname>192.168.1.41</hostname>
<port>9234</port>
</server>
<server>
<id>2</id>
<hostname>192.168.1.42</hostname>
<port>9234</port>
</server>
<server>
<id>3</id>
<hostname>192.168.1.43</hostname>
<port>9234</port>
</server>
<server>
<id>4</id>
<hostname>192.168.1.44</hostname>
<port>9234</port>
</server>
</raft_configuration>
####################
</keeper_server>
<openSSL>
<server>
<verificationMode>none</verificationMode>
<loadDefaultCAFile>true</loadDefaultCAFile>
<cacheSessions>true</cacheSessions>
<disableProtocols>sslv2,sslv3</disableProtocols>
<preferServerCiphers>true</preferServerCiphers>
</server>
</openSSL>
</clickhouse>
2、192.168.1.42
<clickhouse>
<logger>
###以下内容需要注意###
<level>warning</level>
<log>/data/logs/clickhouse-keeper/clickhouse-keeper.log</log>
<errorlog>/data/logs/clickhouse-keeper/clickhouse-keeper.err.log</errorlog>
####################
<size>1000M</size>
<count>10</count>
</logger>
<listen_host>0.0.0.0</listen_host>
<max_connections>4096</max_connections>
<keeper_server>
<tcp_port>9181</tcp_port>
###以下内容需要注意###
<server_id>2</server_id>
<log_storage_path>/portal/clickhouse/coordination/logs</log_storage_path>
<snapshot_storage_path>/portal/clickhouse/coordination/snapshots</snapshot_storage_path>
####################
<coordination_settings>
<operation_timeout_ms>10000</operation_timeout_ms>
<min_session_timeout_ms>10000</min_session_timeout_ms>
<session_timeout_ms>100000</session_timeout_ms>
<raft_logs_level>information</raft_logs_level>
<compress_logs>false</compress_logs>
</coordination_settings>
<hostname_checks_enabled>true</hostname_checks_enabled>
###以下内容需要注意###
<raft_configuration>
<server>
<id>1</id>
<hostname>192.168.1.41</hostname>
<port>9234</port>
</server>
<server>
<id>2</id>
<hostname>192.168.1.42</hostname>
<port>9234</port>
</server>
<server>
<id>3</id>
<hostname>192.168.1.43</hostname>
<port>9234</port>
</server>
<server>
<id>4</id>
<hostname>192.168.1.44</hostname>
<port>9234</port>
</server>
</raft_configuration>
####################
</keeper_server>
<openSSL>
<server>
<verificationMode>none</verificationMode>
<loadDefaultCAFile>true</loadDefaultCAFile>
<cacheSessions>true</cacheSessions>
<disableProtocols>sslv2,sslv3</disableProtocols>
<preferServerCiphers>true</preferServerCiphers>
</server>
</openSSL>
</clickhouse>
3、192.168.1.43
<clickhouse>
<logger>
<level>warning</level>
<log>/data/logs/clickhouse-keeper/clickhouse-keeper.log</log>
<errorlog>/data/logs/clickhouse-keeper/clickhouse-keeper.err.log</errorlog>
<size>1000M</size>
<count>10</count>
</logger>
<listen_host>0.0.0.0</listen_host>
<max_connections>4096</max_connections>
<keeper_server>
<tcp_port>9181</tcp_port>
<server_id>3</server_id>
<log_storage_path>/portal/clickhouse/coordination/logs</log_storage_path>
<snapshot_storage_path>/portal/clickhouse/coordination/snapshots</snapshot_storage_path>
<coordination_settings>
<operation_timeout_ms>10000</operation_timeout_ms>
<min_session_timeout_ms>10000</min_session_timeout_ms>
<session_timeout_ms>100000</session_timeout_ms>
<raft_logs_level>information</raft_logs_level>
<compress_logs>false</compress_logs>
</coordination_settings>
<hostname_checks_enabled>true</hostname_checks_enabled>
<raft_configuration>
<server>
<id>1</id>
<hostname>192.168.1.41</hostname>
<port>9234</port>
</server>
<server>
<id>2</id>
<hostname>192.168.1.42</hostname>
<port>9234</port>
</server>
<server>
<id>3</id>
<hostname>192.168.1.43</hostname>
<port>9234</port>
</server>
<server>
<id>4</id>
<hostname>192.168.1.44</hostname>
<port>9234</port>
</server>
</raft_configuration>
</keeper_server>
<openSSL>
<server>
<verificationMode>none</verificationMode>
<loadDefaultCAFile>true</loadDefaultCAFile>
<cacheSessions>true</cacheSessions>
<disableProtocols>sslv2,sslv3</disableProtocols>
<preferServerCiphers>true</preferServerCiphers>
</server>
</openSSL>
</clickhouse>
4、192.168.1.44
<clickhouse>
<logger>
<level>warning</level>
<log>/data/logs/clickhouse-keeper/clickhouse-keeper.log</log>
<errorlog>/data/logs/clickhouse-keeper/clickhouse-keeper.err.log</errorlog>
<size>1000M</size>
<count>10</count>
</logger>
<listen_host>0.0.0.0</listen_host>
<max_connections>4096</max_connections>
<keeper_server>
<tcp_port>9181</tcp_port>
<server_id>4</server_id>
<log_storage_path>/portal/clickhouse/coordination/logs</log_storage_path>
<snapshot_storage_path>/portal/clickhouse/coordination/snapshots</snapshot_storage_path>
<coordination_settings>
<operation_timeout_ms>10000</operation_timeout_ms>
<min_session_timeout_ms>10000</min_session_timeout_ms>
<session_timeout_ms>100000</session_timeout_ms>
<raft_logs_level>information</raft_logs_level>
<compress_logs>false</compress_logs>
</coordination_settings>
<hostname_checks_enabled>true</hostname_checks_enabled>
<raft_configuration>
<server>
<id>1</id>
<hostname>192.168.1.41</hostname>
<port>9234</port>
</server>
<server>
<id>2</id>
<hostname>192.168.1.42</hostname>
<port>9234</port>
</server>
<server>
<id>3</id>
<hostname>192.168.1.43</hostname>
<port>9234</port>
</server>
<server>
<id>4</id>
<hostname>192.168.1.44</hostname>
<port>9234</port>
</server>
</raft_configuration>
</keeper_server>
<openSSL>
<server>
<verificationMode>none</verificationMode>
<loadDefaultCAFile>true</loadDefaultCAFile>
<cacheSessions>true</cacheSessions>
<disableProtocols>sslv2,sslv3</disableProtocols>
<preferServerCiphers>true</preferServerCiphers>
</server>
</openSSL>
</clickhouse>
3、创建对应的目录并赋权限
sudo mkdir -p /var/lib/clickhouse-keeper
sudo chown -R clickhouse:clickhouse /var/lib/clickhouse-keeper
sudo chmod -R 700 /var/lib/clickhouse-keeper
4、启用并启动 ClickHouse Keeper
sudo systemctl enable clickhouse-keeper
sudo systemctl start clickhouse-keeper
sudo systemctl status clickhouse-keeper
二、安装clickhouse-server、clickhouse-client
1、每台机器下载clickhouse-client、clickhouse-server
sudo yum install -y clickhouse-client clickhouse-server
2、修改配置文件
1、192.168.1.41
vim /etc/clickhouse-server/config.d/remote-servers.xml
<clickhouse>
<remote_servers replace="true">
<prod4>
<secret>mysecretphrase</secret>
<shard>
<internal_replication>true</internal_replication>
<replica>
<host>192.168.1.41</host>
<port>9000</port>
</replica>
<replica>
<host>192.168.1.42</host>
<port>9000</port>
</replica>
</shard>
</prod4>
<prod6>
<secret>mysecretphrase</secret>
<shard>
<internal_replication>true</internal_replication>
<replica>
<host>192.168.1.43</host>
<port>9000</port>
</replica>
<replica>
<host>192.168.1.44</host>
<port>9000</port>
</replica>
</shard>
</prod6>
</remote_servers>
</clickhouse>
2、vim /etc/clickhouse-server/config.d/macros.xml
<clickhouse>
<macros>
<!-- 修改为节点特定的 shard 和 replica -->
<shard>01</shard>
<replica>01</replica>
<cluster>cluster_1S_2R</cluster>
</macros>
</clickhouse>
3、vim /etc/clickhouse-server/config.d/network-and-logging.xml
<clickhouse>
<logger>
<level>debug</level>
<log>/data/logs/clickhouse-server/clickhouse-server.log</log>
<errorlog>/data/logs/clickhouse-server/clickhouse-server.err.log</errorlog>
<size>1000M</size>
<count>3</count>
</logger>
<display_name>cluster_1S_2R node 1</display_name>
<listen_host>0.0.0.0</listen_host>
<http_port>8123</http_port>
<tcp_port>9000</tcp_port>
</clickhouse>
4、vim /etc/clickhouse-server/config.xml
<clickhouse>
<logger>
<level>debug</level>
<log>/data/logs/clickhouse-server/clickhouse-server.log</log>
<errorlog>/data/logs/clickhouse-server/clickhouse-server.err.log</errorlog>
</logger>
</clickhouse>
5、vim /etc/clickhouse-server/config.d/use-keeper.xml
<clickhouse>
<keeper>
<node>
<host>192.168.1.41</host>
<port>9181</port>
</node>
<node>
<host>192.168.1.42</host>
<port>9181</port>
</node>
<node>
<host>192.168.1.43</host>
<port>9181</port>
</node>
<node>
<host>192.168.1.44</host>
<port>9181</port>
</node>
</keeper>
</clickhouse>
2、192.168.1.42
vim /etc/clickhouse-server/config.d/emote-servers.xml
<clickhouse>
<remote_servers replace="true">
<prod4>
<secret>mysecretphrase</secret>
<shard>
<internal_replication>true</internal_replication>
<replica>
<host>192.168.1.41</host>
<port>9000</port>
</replica>
<replica>
<host>192.168.1.42</host>
<port>9000</port>
</replica>
</shard>
</prod4>
<prod6>
<secret>mysecretphrase</secret>
<shard>
<internal_replication>true</internal_replication>
<replica>
<host>192.168.1.43</host>
<port>9000</port>
</replica>
<replica>
<host>192.168.1.44</host>
<port>9000</port>
</replica>
</shard>
</prod6>
</remote_servers>
</clickhouse>
2、vim /etc/clickhouse-server/config.d/macros.xml
<clickhouse>
<macros>
<shard>01</shard>
<replica>02</replica>
<cluster>cluster_1S_2R</cluster>
</macros>
</clickhouse>
3、vim /etc/clickhouse-server/config.d/network-and-logging.xml
<clickhouse>
<logger>
<level>debug</level>
<log>/data/logs/clickhouse-server/clickhouse-server.log</log>
<errorlog>/data/logs/clickhouse-server/clickhouse-server.err.log</errorlog>
<size>1000M</size>
<count>3</count>
</logger>
<display_name>cluster_1S_2R node 2</display_name>
<listen_host>0.0.0.0</listen_host>
<http_port>8123</http_port>
<tcp_port>9000</tcp_port>
</clickhouse>
4、vim /etc/clickhouse-server/config.xml
<clickhouse>
<logger>
<level>debug</level>
<log>/data/logs/clickhouse-server/clickhouse-server.log</log>
<errorlog>/data/logs/clickhouse-server/clickhouse-server.err.log</errorlog>
</logger>
</clickhouse>
5、vim /etc/clickhouse-server/config.d/use-keeper.xml
<clickhouse>
<keeper>
<node>
<host>192.168.1.41</host>
<port>9181</port>
</node>
<node>
<host>192.168.1.42</host>
<port>9181</port>
</node>
<node>
<host>192.168.1.43</host>
<port>9181</port>
</node>
<node>
<host>192.168.1.44</host>
<port>9181</port>
</node>
</keeper>
</clickhouse>
3、192.168.1.43
vim /etc/clickhouse-server/config.d/emote-servers.xml
<clickhouse>
<remote_servers replace="true">
<prod4>
<secret>mysecretphrase</secret>
<shard>
<internal_replication>true</internal_replication>
<replica>
<host>192.168.1.41</host>
<port>9000</port>
</replica>
<replica>
<host>192.168.1.42</host>
<port>9000</port>
</replica>
</shard>
</prod4>
<prod6>
<secret>mysecretphrase</secret>
<shard>
<internal_replication>true</internal_replication>
<replica>
<host>192.168.1.43</host>
<port>9000</port>
</replica>
<replica>
<host>192.168.1.44</host>
<port>9000</port>
</replica>
</shard>
</prod6>
</remote_servers>
</clickhouse>
2、vim /etc/clickhouse-server/config.d/macros.xml
<clickhouse>
<macros>
<shard>02</shard>
<replica>01</replica>
<cluster>cluster_1S_2R</cluster>
</macros>
</clickhouse>
3、vim /etc/clickhouse-server/config.d/network-and-logging.xml
<clickhouse>
<logger>
<level>debug</level>
<log>/data/logs/clickhouse-server/clickhouse-server.log</log>
<errorlog>/data/logs/clickhouse-server/clickhouse-server.err.log</errorlog>
<size>1000M</size>
<count>3</count>
</logger>
<display_name>cluster_1S_2R node 3</display_name>
<listen_host>0.0.0.0</listen_host>
<http_port>8123</http_port>
<tcp_port>9000</tcp_port>
</clickhouse>
4、vim /etc/clickhouse-server/config.xml
<clickhouse>
<logger>
<level>debug</level>
<log>/data/logs/clickhouse-server/clickhouse-server.log</log>
<errorlog>/data/logs/clickhouse-server/clickhouse-server.err.log</errorlog>
</logger>
</clickhouse>
5、vim /etc/clickhouse-server/config.d/use-keeper.xml
<clickhouse>
<keeper>
<node>
<host>192.168.1.41</host>
<port>9181</port>
</node>
<node>
<host>192.168.1.42</host>
<port>9181</port>
</node>
<node>
<host>192.168.1.43</host>
<port>9181</port>
</node>
<node>
<host>192.168.1.44</host>
<port>9181</port>
</node>
</keeper>
</clickhouse>
4、192.168.1.44
vim /etc/clickhouse-server/config.d/emote-servers.xml
<clickhouse>
<remote_servers replace="true">
<prod4>
<secret>mysecretphrase</secret>
<shard>
<internal_replication>true</internal_replication>
<replica>
<host>192.168.1.41</host>
<port>9000</port>
</replica>
<replica>
<host>192.168.1.42</host>
<port>9000</port>
</replica>
</shard>
</prod4>
<prod6>
<secret>mysecretphrase</secret>
<shard>
<internal_replication>true</internal_replication>
<replica>
<host>192.168.1.43</host>
<port>9000</port>
</replica>
<replica>
<host>192.168.1.44</host>
<port>9000</port>
</replica>
</shard>
</prod6>
</remote_servers>
</clickhouse>
2、vim /etc/clickhouse-server/config.d/macros.xml
<clickhouse>
<macros>
<shard>02</shard>
<replica>02</replica>
<cluster>cluster_1S_2R</cluster>
</macros>
</clickhouse>
3、vim /etc/clickhouse-server/config.d/network-and-logging.xml
<clickhouse>
<logger>
<level>debug</level>
<log>/data/logs/clickhouse-server/clickhouse-server.log</log>
<errorlog>/data/logs/clickhouse-server/clickhouse-server.err.log</errorlog>
<size>1000M</size>
<count>3</count>
</logger>
<display_name>cluster_1S_2R node 4</display_name>
<listen_host>0.0.0.0</listen_host>
<http_port>8123</http_port>
<tcp_port>9000</tcp_port>
</clickhouse>
4、vim /etc/clickhouse-server/config.xml
<clickhouse>
<logger>
<level>debug</level>
<log>/data/logs/clickhouse-server/clickhouse-server.log</log>
<errorlog>/data/logs/clickhouse-server/clickhouse-server.err.log</errorlog>
</logger>
</clickhouse>
5、vim /etc/clickhouse-server/config.d/use-keeper.xml
<clickhouse>
<keeper>
<node>
<host>192.168.1.41</host>
<port>9181</port>
</node>
<node>
<host>192.168.1.42</host>
<port>9181</port>
</node>
<node>
<host>192.168.1.43</host>
<port>9181</port>
</node>
<node>
<host>192.168.1.44</host>
<port>9181</port>
</node>
</keeper>
</clickhouse>
三、clickhouse的一些命令
##启动
systemctl start clickhouse-server.service
systemctl start clickhouse-keeper
##查看状态
systemctl status clickhouse-server.service
systemctl status clickhouse-keeper
##停止
systemctl stop clickhouse-server.service
systemctl stop clickhouse-keeper