当前位置: 首页 > article >正文

ClickHouse副本搭建

一. 副本概述

副本的目的主要是保障数据的高可用性,ClickHouse中的副本没有主从之分。所有的副本都是平等的。

副本写入流程:
在这里插入图片描述

二. 副本搭建
1. 实验环境
hadoop1(192.168.47.128)
hadoop2(192.168.47.129)
2. 修改配置文件

修改两台主机/etc/clickhouse-server/config.xml配置文件,指定副本使用的zookeeper

<zookeeper>
   <node>
       <host>hadoop1</host>
       <port>2181</port>
   </node>
</zookeeper>
3. 启动服务
  1. 启动hadoop1上的zookeeper服务
[root@hadoop1 zookeeper-3.9.2]# ./bin/zkServer.sh  start
ZooKeeper JMX enabled by default
Using config: /opt/zookeeper-3.9.2/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
  1. 启动hadoop1和hadoop2的ClickHouse服务
[root@hadoop1 ~]# systemctl  start clickhouse-server
[root@hadoop2 ~]# systemctl  start clickhouse-server
三. 数据同步验证
  1. 在hadoop1和hadoop2建表

    # hadoop1
    hadoop1 :) create table t_test (
    id UInt32,
    name String,
    age UInt32
    ) engine =ReplicatedMergeTree('/clickhouse/table/01/t_test','rep_1')
    primary key (id)
    order by (id,name);
    
    # hadoop2
    hadoop2 :) create table t_test (
    id UInt32,
    name String,
    age UInt32
    ) engine =ReplicatedMergeTree('/clickhouse/table/01/t_test','rep_2')
    primary key (id)
    order by (id,name);
    

    副本表的引擎为ReplicatedMergeTree,两张表在zookeeper的节点路径是一样的

  2. 在hadoop1执行insert语句

    hadoop1 :) insert into t_test values(1, 'name1', 20), (2, 'name2', 30), (3, 'name3', 15);
    
    INSERT INTO t_test FORMAT Values
    Query id: 6c7fb969-fbe4-4199-af27-1dbbe3c8be14
    Ok.
    
    3 rows in set. Elapsed: 0.031 sec.
    
  3. 查看hadoop2数据表中的数据

    hadoop2 :) select * from t_test;
    
    SELECT *
    FROM t_test
    
    Query id: fef23f16-f122-45e6-bfa2-94e784a9e042
       ┌─id─┬─name──┬─age─┐
    1. │  1 │ name1 │  202. │  2 │ name2 │  303. │  3 │ name3 │  15 │
       └────┴───────┴─────┘
    3 rows in set. Elapsed: 0.005 sec.
    

    由此可以看出,hadoop1插入的数据已经完全同步到hadoop2上了。


http://www.kler.cn/a/466366.html

相关文章:

  • HTML-列表标签
  • halcon三维点云数据处理(五)创建代表工具和机器人底座的3D模型
  • 软件工程实验-实验2 结构化分析与设计-总体设计和数据库设计
  • web漏洞之文件包含漏洞
  • C++和OpenGL实现3D游戏编程【连载19】——着色器光照初步(平行光和光照贴图)(附源码)
  • MyBatis-plus sql拦截器
  • 关于AI面试系统2025年趋势评估!
  • 【Multisim用74ls92和90做六十进制】2022-6-12
  • dns网址和ip是一一对应的吗?
  • AMP 混合精度训练中的动态缩放机制: grad_scaler.py函数解析( torch._amp_update_scale_)
  • Android 网络判断
  • Couchbase 的 OLAP 能力现状以及提升 OLAP 能力的方法
  • Android:动态去掉RecyclerView动画导致时长累加问题解决
  • 【蓝桥杯比赛-C++组-经典题目汇总】
  • cka考试-03-k8s版本升级
  • SpringBootWeb案例-2
  • 图形 3.5 Early-z和Z-prepass
  • Mysql监视器搭建
  • FPGA、STM32、ESP32、RP2040等5大板卡,结合AI,更突出模拟+数字+控制+算法
  • 仓储机器人底盘的研究
  • 在Microsoft Windows上安装MySQL
  • 2025年第五届控制理论与应用国际会议 | Ei Scopus双检索
  • 「Mac畅玩鸿蒙与硬件53」UI互动应用篇30 - 打卡提醒小应用
  • Chapter2 文本规范化
  • #C02L02P01. C02.L02.一维数组最值问题.知识点1.求最大值
  • Elasticsearch:利用 AutoOps 检测长时间运行的搜索查询