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

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_testQuery 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.lryc.cn/news/513233.html

相关文章:

  • K3知识点
  • cocos creator 3.x版本如何添加打开游戏时首屏加载进度条
  • Fama MacBeth两步法与多因子模型的回归检验
  • IDEA 搭建 SpringBoot 项目之配置 Maven
  • node.js之---事件循环机制
  • Python OpenAI 库开发指南:从入门到实战精通
  • flash-attention保姆级安装教程
  • 送给一年编程道路的自己
  • LeRobot(1)
  • C++ 设计模式:组合模式(Composite Pattern)
  • OpenHarmony源码编译后烧录镜像教程,RK3566鸿蒙开发板演示
  • 强化学习(1)
  • 【漏洞复现】金和OA C6 FileDownLoad.aspx 任意文件读取漏洞复现
  • 开源模型应用落地-qwen2-7b-instruct-LoRA微调-Axolotl-单机多卡-RTX 4090双卡(七)
  • Dockerfile 构建继承父镜像的 ENTRYPOINT 和 CMD
  • 46. Three.js案例-创建颜色不断变化的立方体模型
  • Linux系统离线部署MySQL详细教程(带每步骤图文教程)
  • 【数据仓库】hive on Tez配置
  • Kubernetes Gateway API-3-TLS配置
  • C++ 设计模式:原型模式(Prototype Pattern)
  • 计算机网络 (12)物理层下面的传输媒体
  • SpringCloud 系列教程:微服务的未来(三)IService接口的业务实现
  • 测试带宽上行方法
  • 天天跳绳(???)
  • module ‘django.db.models‘ has no attribute ‘FieldDoesNotExist‘
  • 智能工厂的设计软件 应用场景的一个例子:为AI聊天工具添加一个知识系统 之10 方案再探之1:特定于领域的模板 之1 随想交流
  • Excel将混乱的多行做成1列
  • Django项目部署到服务器
  • SpringBoot集成Flowable
  • 大模型从零开始——预训练之分词 Tokenization