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使用场景和集群安装

ClickHouse安装及集群搭建

Clickhouse 集群安装(完整版)

pgspider clickhouse fdw docker 镜像

Clickhouse:基于另一个数组的数组总和

ReplacingMergeTree:实现Clickhouse数据更新