ClickHouse副本搭建

一. 副本概述

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

副本写入流程:

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

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

bash 复制代码
<zookeeper>
   <node>
       <host>hadoop1</host>
       <port>2181</port>
   </node>
</zookeeper>
3. 启动服务
  1. 启动hadoop1上的zookeeper服务
bash 复制代码
[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服务
bash 复制代码
[root@hadoop1 ~]# systemctl  start clickhouse-server
bash 复制代码
[root@hadoop2 ~]# systemctl  start clickhouse-server
三. 数据同步验证
  1. 在hadoop1和hadoop2建表

    bash 复制代码
    # 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语句

    bash 复制代码
    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数据表中的数据

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

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

相关推荐
SelectDB技术团队1 天前
从 ClickHouse 迁移到 Doris:SQL 兼容、同步与验证清单
数据库·人工智能·sql·clickhouse·apache doris·selectdb·湖仓架构升级
java_logo3 天前
Docker 部署 ClickHouse Server:轻松搭建列式 OLAP 分析数据库平台
数据库·clickhouse·docker·私有化部署·olap·列式数据库·轩辕镜像
西风未眠7 天前
ClickHouse数据库引擎引起的数据丢失
数据库·clickhouse·故障
李兆龙的博客9 天前
从一到无穷大 #86:ClickHouse 收购 RunReveal——可观测性竞争进入宏观调控阶段
clickhouse
Gain_chance13 天前
大数据毕业设计实战|Data Insight Platform:用 FastAPI + ClickHouse 打造低门槛全链路数据洞察平台
大数据·数据库·clickhouse·毕业设计·fastapi
迷迭香yy16 天前
A股数据本地存储方案对比JSON、SQLite、ClickHouse、DuckDB怎么选 IG50免费开源股票数据API接口
clickhouse·sqlite·json
leisoo809717 天前
本地股票数据深度对比ClickHouse与Parquet存储方案 IG50免费开源股票数据API接口
clickhouse·开源
A.说学逗唱的Coke19 天前
【数据库专题】ClickHouse 深度实战:从列式存储原理到 PB 级海量日志与可观测性分析
数据库·clickhouse·硬件架构
吉甫作诵25 天前
阿里云 ECS 安装 ClickHouse:密码配置、目录迁移与基础调优
大数据·clickhouse
NineData25 天前
NineData Oracle 到 ClickHouse 数据迁移完整流程:结构复制、全量装载、增量同步
数据库·clickhouse·oracle·数据迁移·ninedata·增量同步·数据迁移工具