电脑桌面
添加蚂蚁七词文库到电脑桌面
安装后可以在桌面快捷访问

实战篇丨ClickHouse初体验之集群搭建指南(下)

来源:金蝶云社区作者:金蝶2024-09-163

实战篇丨ClickHouse初体验之集群搭建指南(下)

大家好,上次给大家分享LS同学根据亲身经历整理的一篇关于搭建ClickHouse集群的文章上篇(原创 | ClickHouse初体验之集群搭建指南(上))


上篇文章主要讲述ClickHouse之3节点3分片1副本的集群搭建过程,本篇文章将介绍3节点3分片2副本的搭建过程,相当于一台机器起了两个 ClickHouse 的服务,因此在配置文件中,我们需要通过修改配置文件、修改端口和集群配置来达到这种需求。


希望对大家有帮助,特别是CK初学者。



一、准备工作

1.webp


二、修改配置文件

在BD-P-GP01机器创建并修改config9001.xml,并且修改配置文件

 

[root@BD-P-GP01 clickhouse-server]# cp /etc/clickhouse-server/config.xml  /etc/clickhouse-server/config9001.xml
  [root@BD-P-GP01 clickhouse-server]
# vim /etc/clickhouse-server/config9001.xml
  <?xml version=
"1.0"?>
  <!-- CHconfig是热部署的 -->

  <clickhouse>
      <!-- 端口配置 -->

      <http_port>8124</http_port>
      <tcp_port>9001</tcp_port>
      <interserver_http_port>9010</interserver_http_port>
     <!-- 端口配置,因为涉及到一台机器起两个服务,存在端口冲突,需要注释掉 -->  <!--mysql_port>9004</mysql_port-->   <!--postgresql_port>9005</postgresql_port-->  <!--日志存储修改-->  <
log>/var/log/clickhouse-server/clickhouse-server-9001.log</log>
   <errorlog>/var/
log/clickhouse-server/clickhouse-server-9001.err.log</errorlog>   <!--取消该注释,开启远程访问-->    <listen_host>::</listen_host>
 
     <!-- 指定数据存储路径 -->

      <path>/data2/clickhouse/</path>
      <tmp_path>/data2/clickhouse/tmp/</tmp_path>
   <!--
  user_files_path:包含用户文件的目录,在表函数file()中使用。-->   <user_files_path>

  /data2/clickhouse/user_files/ </user_files_path>
  <!--用来存储创建的用户和角色--><access_control_path>/data2/clickhouse/access/</access_control_path><!--包含输入格式文件--><format_schema_path>/data2/clickhouse/format_schemas/<format_schema_path><!-- 远程服务器,分布式表引擎和集群表功能使用的集群的配置 -->

  <remote_servers incl=
"clickhouse_remote_servers" />
      <distributed_ddl>
        <!-- ZooKeeper中与DDL查询队列的路径 -->

        <path>/clickhouse/task_queue/ddl</path>
      </distributed_ddl>
 
      <!-- zk启动 -->

      <zookeeper incl=
"zookeeper-servers" optional="true" />
      <!-- 启动macros,并指定地址 -->

      <macros incl=
"macros" optional="true" />
       <!--引入metrika.xml-->

   <include_from>/etc/clickhouse-server/config.d/metrika9001.xml</include_from></clickhouse>

修改完成之后分发到其他2台机器,BD-P-GP02,BD-P-GP03



在BD-P-GP01机器创建并修改metrica9001.xml,并且修改配置文件:


[root@BD-P-GP01 clickhouse-server]# cp /etc/clickhouse-server/config.d/metrica.xml  /etc/clickhouse-server/config.d/metrica9001.xml
  [root@BD-P-GP01 clickhouse-server]
# vim /etc/clickhouse-server/config.d/metrica9001.xml 
  <?xml version=
"1.0"?>
  <clickhouse>
  <!--新版的clickhouse集群的首个标签必须是clickhouse,而不是yandex -->

  <!-- 集群配置 -->

  <clickhouse_remote_servers>
      <!-- 集群名称,确保和config.xml中的<remote_servers incl=
"clickhouse_remote_servers" />
 
incl的中的参数一致-->
      <perftest_3shards_1replicas>
          <shard>
              <!-- 建议一个台机器一个节点,避免资源争夺 -->

              <!-- 表示是否只将数据写入其中一个副本,默认为
false,表示写入所有副本,在复制表的情况下可能会导致重复和不一致,所以这里一定要改为true-->
              <internal_replication>
true</internal_replication>
              <!-- 副本配置,ch没有主备之分 -->

              <replica>
                  <host>BD-P-GP01</host>
                  <port>9000</port>
                  <user>default</user>
                  <password>root</password>
              </replica>
            <replica>
                  <host>BD-P-GP02</host>
                  <port>9001</port>
                  <user>default</user>
                  <password>root</password>
              </replica>
          </shard>
          <shard>
              <internal_replication>
true</internal_replication>
              <replica>
                  <host>BD-P-GP02</host>
                  <port>9000</port>
                  <user>default</user>
                  <password>root</password>
              </replica>
           <replica>
                  <host>BD-P-GP03</host>
                  <port>9001</port>
                  <user>default</user>
                  <password>root</password>
              </replica>
          </shard>
           <shard>
              <internal_replication>
true</internal_replication>
              <replica>
                  <host>BD-P-GP03</host>
                  <port>9000</port>
                  <user>default</user>
                  <password>root</password>
              </replica>
            <replica>
                  <host>BD-P-GP01</host>
                  <port>9001</port>
                  <user>default</user>
                  <password>root</password>
              </replica>
          </shard>
      </perftest_3shards_1replicas>
  </clickhouse_remote_servers>
 
  <!-- 本节点副本名称replica,配置后能方便后续创建复制表时不用指定zk路径,每台机器的配置不一样,确保和每台机器的host名称一致 -->

  <macros>
      <shard>03</shard>
      <replica>BD-P-GP01</replica>
  </macros>
 
  <!-- ZK配置  -->

  <zookeeper-servers>
    <node index=
"1">
      <host>zk1</host>
      <port>2181</port>
    </node>
    <node index=
"2">
      <host>zk2</host>
      <port>2181</port>
    </node>
    <node index=
"3">
      <host>zk3</host>
      <port>2181</port>
    </node>
  </zookeeper-servers>
 
  <!-- 数据压缩算法配置  -->

  <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>
  </clickhouse>
 
 


修改完成之后分发到其他2台机器,BD-P-GP02,BD-P-GP03

BD-P-GP01的节点的配置:


  • metical.xml


  <macros>
      <shard>01</shard>
      <replica>BD-P-GP01</replica>
  </macros>



  • metical9001.xml

<macros>
      <shard>03</shard>
      <replica>BD-P-GP01</replica>
  </macros>



BD-P-GP02的节点的配置:

  • metical.xml


<macros>
      <shard>02</shard>
      <re

实战篇丨ClickHouse初体验之集群搭建指南(下)

大家好,上次给大家分享LS同学根据亲身经历整理的一篇关于搭建ClickHouse集群的文章上篇(原创 | ClickHouse初体验之集群搭建指南(上)...
点击下载文档文档为doc格式

声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。

已经是第一篇
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息
QQ群
  • 答案:my7c点击这里加入QQ群
支持邮箱
微信
  • 微信