• 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 │
    └────┴────┘
  • 相关阅读:
    ExtJS实战(3)spring
    在 Lotus Domino 7 应用程序中利用 IBM DB2 集成特性
    ExtJS实战(2)hibernate
    ExtJS实战(4)struts
    春节后找工作被面试的经历,好岗位分享给还在找工作中的软件开发爱好者们【转】
    hack专讲
    春节后面试别人的经历总结之二,好岗位分享给还在找工作中的软件开发爱好者们【转】
    asp 去除HTML格式
    创业型公司或发展中公司请不要随意给员工开空头支票~~!!!
    可展开滚动的QQ客服代码【蓝底客服中心】
  • 原文地址:https://www.cnblogs.com/hxlasky/p/15843564.html
Copyright © 2020-2023  润新知