部署 ClickHouse 6节点集群(3分片2副本)

部署 ClickHouse 6节点集群(3分片2副本)

环境设置

我们将在以下服务器上部署 ClickHouse 集群,每个节点的IP地址如下:

公网IP地址和主机名:
x.x.x.x    node-1
x.x.x.x    node-2
x.x.x.x    node-3
x.x.x.x    node-4
x.x.x.x    node-5
x.x.x.x    node-6

内网IP地址和主机名:
10.0.0.2 node-1
10.0.0.3 node-2
10.0.0.4 node-3
10.0.0.6 node-4
10.0.0.7 node-5
10.0.0.8 node-6

前期准备

  1. 更新Centos系统并创建新用户:
dnf update

useradd clickhouse
passwd clickhouse
usermod -aG wheel clickhouse

visudo
## 在visudo编辑器中,添加以下内容:
%wheel  ALL=(ALL)       ALL
%wheel  ALL=(ALL)       NOPASSWD: ALL

su clickhouse
  1. 添加 SSH 公钥:
vi ~/.ssh/authorized_keys
  1. 编辑 /etc/hosts 文件,添加所有节点的主机名和IP地址映射:
vi /etc/hosts

挂载数据盘

在每个节点上,挂载新的数据盘用于 ClickHouse 数据存储。以 node-6 为例:

sudo mount --bind /mnt/data_volume /var/lib/clickhouse/

sudo chown -R clickhouse:clickhouse /var/lib/clickhouse
sudo chown -R root:root /var/lib/clickhouse/lost+found/

其他节点类似,具体命令请根据实际数据盘路径调整。

配置 ClickHouse

在每个节点上,编辑 ClickHouse 配置文件:

  1. 编辑用户配置 /etc/clickhouse-server/users.xml,添加新的用户:
<users>
    <default>
    ...snip...
    </default>
    <admin>
        <password>admin_password</password>
        <networks>
            <ip>::/0</ip>
        </networks>
        <profile>default</profile>
        <quota>default</quota>
    </admin>
</users>
  1. 编辑主配置文件 /etc/clickhouse-server/config.xml

在 node-1 上:

<listen_host>::</listen_host>

<macros>
    <shard>01</shard>
    <replica>01</replica>
</macros>

<prometheus>
    <endpoint>/metrics</endpoint>
    <port>9363</port>
    <metrics>true</metrics>
    <events>true</events>
    <asynchronous_metrics>true</asynchronous_metrics>
    <status_info>true</status_info>
</prometheus>

<zookeeper>
    <node>
        <host>node-1</host>
        <port>2181</port>
    </node>
    <node>
        <host>node-2</host>
        <port>2181</port>
    </node>
    <node>
        <host>node-3</host>
        <port>2181</port>
    </node>
</zookeeper>

<remote_servers>
    <cluster>
        <shard>
            <internal_replication>true</internal_replication>
            <replica>
                <host>node-1</host>
                <port>9000</port>
            </replica>
            <replica>
                <host>node-2</host>
                <port>9000</port>
            </replica>
        </shard>
        <shard>
            <internal_replication>true</internal_replication>
            <replica>
                <host>node-3</host>
                <port>9000</port>
            </replica>
            <replica>
                <host>node-4</host>
                <port>9000</port>
            </replica>
        </shard>
        <shard>
            <internal_replication>true</internal_replication>
            <replica>
                <host>node-5</host>
                <port>9000</port>
            </replica>
            <replica>
                <host>node-6</host>
                <port>9000</port>
            </replica>
        </shard>
    </cluster>
</remote_servers>

其他节点根据以下模板进行调整:

在 node-2 上:

<listen_host>::</listen_host>

<macros>
    <shard>01</shard>
    <replica>02</replica>
</macros>

在 node-3 上:

<listen_host>::</listen_host>

<macros>
    <shard>02</shard>
    <replica>01</replica>
</macros>

在 node-4 上:

<listen_host>::</listen_host>

<macros>
    <shard>02</shard>
    <replica>02</replica>
</macros>

在 node-5 上:

<listen_host>::</listen_host>

<macros>
    <shard>03</shard>
    <replica>01</replica>
</macros>

在 node-6 上:

<listen_host>::</listen_host>

<macros>
    <shard>03</shard>
    <replica>02</replica>
</macros>

启动 ClickHouse

  1. 停止 ClickHouse 服务:
sudo systemctl stop clickhouse-server
  1. 确认挂载数据盘:
sudo mount --bind /mnt/data_volume /var/lib/clickhouse/
sudo chown -R clickhouse:clickhouse /var/lib/clickhouse
sudo chown -R root:root /var/lib/clickhouse/lost+found/
  1. 启用并启动 ClickHouse 服务:
sudo systemctl enable clickhouse-server
sudo systemctl start clickhouse-server
  1. 检查 ClickHouse 服务状态:
sudo systemctl status clickhouse-server

配置节点角色

在每个节点上分别设置分片和副本角色:

node-1 10.0.0.2    shard=01, replica=01
node-2 10.0.0.3    shard=01, replica=02
node-3 10.0.0.4    shard=02, replica=01
node-4 10.0.0.6    shard=02, replica=02
node-5 10.0.0.7    shard=03, replica=01
node-6 10.0.0.8    shard=03, replica=02

至此,ClickHouse 6节点集群已成功部署完毕。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值