我这里是三台服务器,centos版本是7.6,分别是:

192.168.1.195

192.168.1.196

192.168.1.197

需要提前安装好zookeeper并启动,此处省略步骤。

1.检查操作系统是否支持

执行:grep -q sse4_2 /proc/cpuinfo && echo "SSE 4.2 supported" || echo "SSE 4.2 not supported"

显示:SSE 4.2 supported,为支持

2.开始安装

三台服务器都依次执行如下四行:

yum install yum-utils

rpm --import https://repo.yandex.ru/clickhouse/CLICKHOUSE-KEY.GPG

yum-config-manager --add-repo https://repo.yandex.ru/clickhouse/rpm/stable/x86_64

yum install clickhouse-server clickhouse-client

查看是否安装完成:

yum list installed 'clickhouse*'

centos7.6安装部署Clickhouse集群_服务器

默认安装好的 clickhouse-client 和 clickhouse-server 在 /etc 目录下

3.启动

现在三台服务器都安装好了单节点的clickhouse,先启动一下试试看

启动:systemctl start clickhouse-server.service

查看进程:ps -aux |grep clickhouse

停止:systemctl stop clickhouse-server.service

执行 clickhouse-client 即可进入他的命令行

centos7.6安装部署Clickhouse集群_xml_02

到现在为止单节点的三个clickhouse就安装成功了,下面配置集群模式

4.配置集群模式的clickhouse

三台服务器都需要配置metrika.xml,这个原本是没有的,需要自己创建。

vi /etc/metrika.xml

内容如下:

<yandex>

   <clickhouse_remote_servers>

       <perftest_3shards_1replicas>

           <shard>

               <internal_replication>true</internal_replication>

               <replica>

                   <host>clickhouse1</host>          

                   <port>9000</port>

               </replica>

           </shard>

           <shard>

               <replica>

                   <internal_replication>true</internal_replication>

                   <host>clickhouse2</host>        

                   <port>9000</port>

               </replica>

           </shard>

           <shard>

               <internal_replication>true</internal_replication>

                   <host>clickhouse3</host>        

                   <port>9000</port>

               </replica>

           </shard>

       </perftest_3shards_1replicas>

   </clickhouse_remote_servers>

   <zookeeper-servers>

       <node index="1">

           <host>clickhouse1</host>                    

           <port>2181</port>

       </node>

       <node index="2">

           <host>clickhouse2</host>

           <port>2181</port>

       </node>

       <node index="3">

           <host>clickhouse3</host>

           <port>2181</port>

       </node>

   </zookeeper-servers>

   <macros>

       <replica>clickhouse1</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>

5.启动集群

改完配置需要重新启动clickhouse-server,方式同步骤3

进入 clickhouse-client

验证集群是否创建成功,输入 select * from system.clusters;

centos7.6安装部署Clickhouse集群_xml_03

至此集群就安装成功了。

FQA:

刚开始我是以 service clickhouse-server start 和 /etc/init.d/clickhouse-server start 的方式启动server,

出现Init script is already running,

查看进程的时候发现并未启动成功

centos7.6安装部署Clickhouse集群_服务器_04

原因:centos7应该使用systemctl的方式进行启动

使用 systemctl start clickhouse-server.service 启动即可