• clickhouse主从部署(1分片2副本)


    环境:
    192.168.1.118
    192.168.1.134

    OS:Centos 7

    DB:21.9.7

    1.安装zookeeper
    可以安装集群也可以安装单节点

    集群的安装步骤请参考:https://www.cnblogs.com/hxlasky/p/14665752.html

    我这里安装的是单节点的zookeeper

    2.每个节点上都安装好clickhouse
    安装步骤请参考
    https://www.cnblogs.com/hxlasky/p/15325313.html

    3.创建 /etc/metrika.xml 文件

    192.168.1.118节点

    <?xml version="1.0"?>
    <yandex>
      <clickhouse_remote_servers>
        <perftest_1shards_2replicas>
          <shard>
            <internal_replication>true</internal_replication>
            <replica>
              <host>192.168.1.118</host>
              <port>9000</port>
            </replica>
            <replica>
              <host>192.168.1.134</host>
              <port>9000</port>
            </replica>
          </shard>
        </perftest_1shards_2replicas>
      </clickhouse_remote_servers>
      <!--zookeeper相关配置-->
      <zookeeper-servers>
        <node index="1">
          <host>192.168.1.118</host>
          <port>2181</port>
        </node>
      </zookeeper-servers>
      <macros>
        <shard_name>01</shard_name>
        <replica>192.168.1.118</replica>
      </macros>
      <networks>
        <ip>::/0</ip>
      </networks>
      <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>
    </yandex>

    192.168.1.134节点

    <?xml version="1.0"?>
    <yandex>
      <clickhouse_remote_servers>
        <perftest_1shards_2replicas>
          <shard>
            <internal_replication>true</internal_replication>
            <replica>
              <host>192.168.1.118</host>
              <port>9000</port>
            </replica>
            <replica>
              <host>192.168.1.134</host>
              <port>9000</port>
            </replica>
          </shard>
        </perftest_1shards_2replicas>
      </clickhouse_remote_servers>
      <!--zookeeper相关配置-->
      <zookeeper-servers>
        <node index="1">
          <host>192.168.1.118</host>
          <port>2181</port>
        </node>
      </zookeeper-servers>
      <macros>
        <shard_name>01</shard_name>
        <replica>192.168.1.134</replica>
      </macros>
      <networks>
        <ip>::/0</ip>
      </networks>
      <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>
    </yandex>

    4.修改配置文件,引入metrika.xml

    修改 /etc/clickhouse-server/config.xml 文件

    <yandex>
        <!--引入metrika.xml-->
        <include_from>/etc/metrika.xml</include_from>
        
        <!--引用Zookeeper配置的定义-->
        <zookeeper incl="zookeeper-servers" optional="true">
        
        <!--clickhouse_remote_servers节点引入-->
        <remote_servers incl="clickhouse_remote_servers">  
            <!-- Test only shard config for testing distributed storage -->
            <test_shard_localhost>
                <!-- Inter-server per-cluster secret for Distributed queries
                     default: no secret (no authentication will be performed)
    
                     If set, then Distributed queries will be validated on shards, so at least:
                     - such cluster should exist on the shard,
                     - such cluster should have the same secret.
    
        <macros incl="macros" optional="true">
        </macros>

    将配置文件拷贝到另外一个节点
    scp /etc/clickhouse-server/config.xml root@192.168.1.134:/etc/clickhouse-server/

    5.修改内部通信参数
    vi /etc/clickhouse-server/config.xml

    192.168.1.118节点
    <interserver_http_host>192.168.1.118</interserver_http_host>

    192.168.1.134节点
    <interserver_http_host>192.168.1.134</interserver_http_host>

    6.重启
    两个节点都需要重启动
    systemctl stop clickhouse-server.service
    systemctl start clickhouse-server.service
    systemctl status clickhouse-server.service

    7.查看集群情况
    192.168.1.118和192.168.1.134上都查看

    [root@localhost clickhouse219]#clickhouse-client --host 192.168.1.118 --port=9000
    SELECT *
    FROM system.clusters
    
    Query id: cae1ecb0-35c9-445b-892e-9e40f3ceff5a
    
    ┌─cluster──────────────────────────────────────┬─shard_num─┬─shard_weight─┬─replica_num─┬─host_name─────┬─host_address──┬─port─┬─is_local─┬─user────┬─default_database─┬─errors_count─┬─slowdowns_count─┬─estimated_recovery_time─┐
    │ perftest_1shards_2replicas                   │         111192.168.1.118192.168.1.11890001default │                  │            000 │
    │ perftest_1shards_2replicas                   │         112192.168.1.134192.168.1.13490000default │                  │            000 │
    │ test_cluster_two_shards                      │         111127.0.0.1127.0.0.190001default │                  │            000 │
    │ test_cluster_two_shards                      │         211127.0.0.2127.0.0.290000default │                  │            000 │
    │ test_cluster_two_shards_internal_replication │         111127.0.0.1127.0.0.190001default │                  │            000 │
    │ test_cluster_two_shards_internal_replication │         211127.0.0.2127.0.0.290000default │                  │            000 │
    │ test_cluster_two_shards_localhost            │         111 │ localhost     │ ::190001default │                  │            000 │
    │ test_cluster_two_shards_localhost            │         211 │ localhost     │ ::190001default │                  │            000 │
    │ test_shard_localhost                         │         111 │ localhost     │ ::190001default │                  │            000 │
    │ test_shard_localhost_secure                  │         111 │ localhost     │ ::194400default │                  │            000 │
    │ test_unavailable_shard                       │         111 │ localhost     │ ::190001default │                  │            000 │
    │ test_unavailable_shard                       │         211 │ localhost     │ ::110default │                  │            000 │
    └──────────────────────────────────────────────┴───────────┴──────────────┴─────────────┴───────────────┴───────────────┴──────┴──────────┴─────────┴──────────────────┴──────────────┴─────────────────┴─────────────────────────┘
    
    12 rows in set. Elapsed: 0.007 sec. 

    8.创建数据库

    在其中一个节点上执行,我这里是在192.168.1.118上执行

    CREATE DATABASE db_test ON CLUSTER perftest_1shards_2replicas;
    
    localhost :) CREATE DATABASE db_test ON CLUSTER perftest_1shards_2replicas;
    
    CREATE DATABASE db_test ON CLUSTER perftest_1shards_2replicas
    
    Query id: 631e56fc-f4ed-4a69-a289-d3abb474965f
    
    ┌─host──────────┬─port─┬─status─┬─error─┬─num_hosts_remaining─┬─num_hosts_active─┐
    │ 192.168.1.11890000 │       │                   11 │
    └───────────────┴──────┴────────┴───────┴─────────────────────┴──────────────────┘
    ┌─host──────────┬─port─┬─status─┬─error─┬─num_hosts_remaining─┬─num_hosts_active─┐
    │ 192.168.1.13490000 │       │                   00 │
    └───────────────┴──────┴────────┴───────┴─────────────────────┴──────────────────┘
    登陆查看数据库
    clickhouse-client --host 192.168.1.118 --port=9000 -m
    localhost :) show databases;
    
    SHOW DATABASES
    
    Query id: 55c214f1-6d65-4f49-bab0-134442c7d40e
    
    ┌─name────┐
    │ db_test │
    │ default │
    │ system  │
    └─────────┘
    
    clickhouse-client --host 192.168.1.134 --port=9000 -m
    
    localhost :) show databases;
    
    SHOW DATABASES
    
    Query id: 55c214f1-6d65-4f49-bab0-134442c7d40e
    
    ┌─name────┐
    │ db_test │
    │ default │
    │ system  │
    └─────────┘

    9.创建表并写入数据

    在其中一个节点上操作,我这里在192.168.1.118上执行

    clickhouse-client --host 192.168.1.118 --port=9000 -m
    
    CREATE TABLE db_test.tb_test01 ON CLUSTER 'perftest_1shards_2replicas'
    (
    `id` Int64,
    `p` Int16
    )
    ENGINE = ReplicatedMergeTree( '/clickhouse/tables/replicated/tb_test01', '{replica}')
    PARTITION BY p
    ORDER BY id;
    
    INSERT INTO db_test.tb_test01 VALUES(33,33);
    INSERT INTO db_test.tb_test01 VALUES(44,44);
    INSERT INTO db_test.tb_test01 VALUES(55,55);
    INSERT INTO db_test.tb_test01 VALUES(66,66);

    另外一个节点查看

    clickhouse-client --host 192.168.1.134 --port=9000 -m
    
    localhost :) select * from db_test.tb_test01;
    
    SELECT *
    FROM db_test.tb_test01
    
    Query id: c231b503-1d01-488b-8ea5-ccac69c02b78
    
    ┌─id─┬──p─┐
    │ 5555 │
    └────┴────┘
    ┌─id─┬──p─┐
    │ 6666 │
    └────┴────┘
    ┌─id─┬──p─┐
    │ 3333 │
    └────┴────┘
    ┌─id─┬──p─┐
    │ 4444 │
    └────┴────┘
  • 相关阅读:
    es reason=Fielddata is disabled on text fields by default.
    macOS安装使用youget
    多账户拉取
    golang 基础笔记二
    PLI是什么
    Delphi 11.1 在FMX Image上画图遇到坑
    kbmMW 5.19 Debug状态编译的Android应用闪退的原因
    Delphi 11.1 用原生TBase64Encoding将图片文件转换成Base64串
    Unknown picture file extension (.jpg)
    Java中 DecimalFormat 用法详解
  • 原文地址:https://www.cnblogs.com/hxlasky/p/15843564.html
Copyright © 2020-2023  润新知