centos7安装部署clickhouse集群
程序员文章站
2022-07-13 10:26:29
...
我这里是三台服务器,centos版本是7.8,分别是:
192.168.130.46
192.168.130.48
192.168.130.49
需要提前安装好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*'
默认安装好的 clickhouse-client 和 clickhouse-server 在 /etc 目录下
3.启动
现在三台服务器都安装好了单节点的clickhouse,先启动一下试试看
启动:systemctl start clickhouse-server.service
查看进程:ps -aux |grep clickhouse
停止:systemctl stop clickhouse-server.service
执行 clickhouse-client 即可进入他的命令行
到现在为止单节点的三个clickhouse就安装成功了,下面配置集群模式
4.配置集群模式的clickhouse
三台服务器都需要配置metrika.xml,这个原本是没有的,需要自己创建。
vi /etc/metrika.xml
内容如下:
<yandex>
<clickhouse_remote_servers>
<perftest_3shards_1replicas>
<shard>
<internal_replication>true</internal_replication>
<replica>
<host>clickhouse01</host> (第一台服务器的主机名或ip)
<port>9000</port>
</replica>
</shard>
<shard>
<replica>
<internal_replication>true</internal_replication>
<host>clickhouse02</host> (第二台服务器的主机名或ip)
<port>9000</port>
</replica>
</shard>
<shard>
<internal_replication>true</internal_replication>
<replica>
<host>clickhouse03</host> (第三台服务器的主机名或ip)
<port>9000</port>
</replica>
</shard>
</perftest_3shards_1replicas>
</clickhouse_remote_servers>
<zookeeper-servers>
<node index="1">
<host>clickhouse01</host> (此处的三个host同上)
<port>2181</port>
</node>
<node index="2">
<host>clickhouse02</host>
<port>2181</port>
</node>
<node index="3">
<host>clickhouse03</host>
<port>2181</port>
</node>
</zookeeper-servers>
<macros>
<replica>clickhouse01</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;
至此集群就安装成功了。
期间出现的问题:
刚开始我是以 service clickhouse-server start 和 /etc/init.d/clickhouse-server start 的方式启动server,
出现Init script is already running,
查看进程的时候发现并未启动成功
原因:
centos7应该使用systemctl的方式进行启动
使用 systemctl start clickhouse-server.service 启动即可