ClickHouse安装(集群版)
Posted GreaterBuilder
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ClickHouse安装(集群版)相关的知识,希望对你有一定的参考价值。
ClickHouse安装(集群版)
一、准备工作
1、设置hostname
# 三台机器分别执行
hostnamectl set-hostname node1
hostnamectl set-hostname node2
hostnamectl set-hostname node3
2、hosts映射
# 三台机器均执行(根据自己ip进行修改)
vim /etc/hosts
192.168.117.30 node1
192.168.117.31 node2
192.168.117.32 node3
3、关闭防火墙
# 三台机器均执行
systemctl stop firewalld.service
systemctl disable firewalld.service
4、同步时间
# 三台机器均执行
yum install ntpdate
ntpdate ntp5.aliyun.com
5、关闭selinux
# 三台机器均执行
vim /etc/selinux/config
修改为 SELINUX=disabled
6、安装好zookeeper
这里我简单的用docker安装了一个单机版的zookeeper作为测试使用
docker pull zookeeper
docker run -d --name zookeeper --privileged=true -p 2181:2181 zookeeper
7、重启
二、搭建ClickHouse集群
本次集群规划:三台机器组成集群中的三个节点,每个节点设置一个副本
1、下载安装包
可以使用如下地址下载(阿里镜像比较快一些)
https://repo.yandex.ru/clickhouse/rpm/stable/x86_64/
或
https://mirrors.aliyun.com/clickhouse/rpm/lts/
2、安装
rpm -ivh clickhouse*
安装过程中需要输入密码,不设置密码直接回车即可
3、修改配置文件
注:配置文件需要同步到集群中的所有机器
配置文件位置:/etc/clickhouse-server
(1)放开listen_host配置,使clickhouse可以外部访问
(2)修改**/etc/clickhouse-server/config.xml**
# remote_servers 标签下默认的配置不需要可以删掉
# 添加“incl”,并且名称要和metrika.xml中标签定义名称相同,如下图1对应关系
# 添加“include_from”标签,配置“metrika.xml”路径
# 新建“metrika.xml”文件并编辑内容,内容说明如下图2
<remote_servers incl="clickhouse_button">
<include_from>/etc/clickhouse-server/metrika.xml</include_from>
“incl”值与metrika.xml的对应关系(图1)
metrika.xml文件配置(图2)
注:metrika.xml文件配置根据自己的集群规划来进行配置即可
<yandex>
<!-- incl="clickhouse_button" -->
<clickhouse_button>
<!-- 自定义集群名称(自己定义即可) -->
<button_cluster>
<!-- 定义集群的分片数量,几个shard标签则说明几个节点 -->
<shard>
<!-- 定义分片的副本数量,这里只配置了一个,如果需要配置多个,追加replica即可 -->
<replica>
<host>node1</host>
<port>9000</port>
</replica>
</shard>
<shard>
<replica>
<host>node2</host>
<port>9000</port>
</replica>
</shard>
<shard>
<replica>
<host>node3</host>
<port>9000</port>
</replica>
</shard>
</button_cluster>
</clickhouse_button>
<zookeeper-servers>
<!-- zookeeper多个节点追加node配置即可 -->
<node index="1">
<host>node1</host>
<port>2181</port>
</node>
</zookeeper-servers>
</yandex>
4、启动
# 启动 ClickHouse
systemctl start clickhouse-server
# 查看 ClickHouse 运行状态,运行状态如下图所示
systemctl status clickhouse-server
三、验证集群
# 使用clickhouse-client
clickhouse-client --password *****
select cluster,shard_num,replica_num,host_name,port,user from system.clusters;
以上是关于ClickHouse安装(集群版)的主要内容,如果未能解决你的问题,请参考以下文章
大数据ClickHouse进阶:ClickHouse使用场景和集群安装