容器化部署Clickhosue集群

本文档介绍如何通过容器化部署Clickhouse集群,采用数据挂载到宿主机实现持久化,集群配置为两个分片,每个分片两个副本。涉及步骤包括集群规划、配置文件的生成与修改、以及启动命令的说明。
摘要由CSDN通过智能技术生成

该文档使用docker容器化部署clickhouse集群,通过将相关配置和数据挂载到宿主机的方式进行数据的持久化。示例中集群为两个分片,每个分片两个副本(可根据实际需求进行调整)。

clickhouse 集群规划

IP layer shard replica
10.100.1.1 01 01 1
10.100.1.2 01 01 2
10.100.1.3 01 02 1
10.100.1.4 01 02 2

生成基本的配置,如文件夹和配置文件等

  1. 创建clickhouse所需文件夹,用于存放clickhouse配置文件和挂载容器数据

    mkdir -p  /opt/clickhouse-server/{
         config,data,logs}
    
    目录 作用 容器内目录
    config clickhouse 配置文件 /etc/clickhouse-server/
    config/config.d 如果需要新增或修改默认配置,可将配置文件添加到config.d目录下,项目启动时会将配置合并。 /etc/clickhouse-server/config.d
    data clickhouse 数据文件 /var/lib/clickhouse/
    logs clickhouse 日志 /var/log/clickhouse-server/
  2. 启动一个临时容器,复制容器内的默认配置文件到宿主机

    # 启动一个临时容器
    docker run --name temp-clickhouse -d clickhouse/clickhouse-server:23.1.3.5
    # 复制容器内部的配置到宿主机
    docker cp temp-clickhouse:/etc/clickhouse-server/ .
    

    在这里插入图片描述

  3. 将第二步中复制出来的clickhouse所有配置文件移动到config目录下

    mv clickhouse-server/* /opt/clickhouse-server/config/
    

更改clickhouse配置

  1. 更改config.xml

    • remote_servers: 默认的配置文件中存在一些用于演示的集群配置,可以将对应的配置进行注释
      在这里插入图片描述

    • timezone 更改clickhouse服务时区到Asia/Shanghai
      在这里插入图片描述

  2. config.d目录下新增metrika.xml配置文件,用于设置集群和zookeeper相关配置

    <!-- 以10.100.1.1机器作为示例配置 -->
    <clickhouse>
       <!-- remote_servers为集群配置信息,每次更改后可及时生效,无需重启服务器 -->
       <remote_servers>
          <cluster_2_shard_2_replicas>
             <shard>
                <replica>
                   <!-- host 配置需要注意,如果宿主机未添加集群内其他机器的hostname映射关系,则需要在docker命令中添加, 并且只能使用hostname访问 -->
                   <!-- 如果宿主机添加了host则可以直接使用ip地址进行访问 -->
                   <host>10.100.1.1</host>
                   <port<
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值