详解 ClickHouse 的副本机制

一、简介

副本功能只支持 MergeTree Family 的表引擎,参考文档:https://clickhouse.tech/docs/en/engines/table-engines/mergetree-family/replication/

ClickHouse 副本的目的主要是保障数据的高可用性,即使一台 ClickHouse 节点宕机,那么也可以从其他服务器获得相同的数据。

二、原理

主要依赖 Zookeeper 来进行多个 ClickHouse 节点间数据的同步,各节点间没有主从关系

在这里插入图片描述

三、配置

以 3 台虚拟机节点集群为例

  • 在集群的一台节点 hadoop102 上修改配置文件

    #1. 使用外部文件进行配置
    su root
    cd /etc/clickhouse-server/config.d
    vim metrika.xml
    
    #添加zookeeper信息
    <?xml version="1.0"?>
    <yandex>
        <zookeeper-servers>
            <node index="1">
                <host>hadoop102</host>
                <port>2181</port>
            </node>
            <node index="2">
                <host>hadoop103</host>
                <port>2181</port>
            </node>
            <node index="3">
                <host>hadoop104</host>
                <port>2181</port>
            </node>
        </zookeeper-servers>
    </yandex>
    
    #修改metrika.xml文件的所属用户及组
    chown clickhouse:clickhouse metrika.xml
    
    cd /etc/clickhouse-server
    vim config.xml
    
    #查找zookeeper位置,添加配置
    <zookeeper incl="zookeeper-servers" optional="true" />
    <include_from>/etc/clickhouse-server/config.d/metrika.xml</include_from>
    
    
    #2. 直接在 config.xml 中进行配置
    su root
    cd /etc/clickhouse-server
    vim config.xml
    
    #查找zookeeper位置,去掉<zookeeper></zookeeper>的注释并修改
    <zookeeper>
        <node>
            <host>hadoop102</host>
            <port>2181</port>
        </node>
        <node>
            <host>hadoop103</host>
            <port>2181</port>
        </node>
        <node>
            <host>hadoop104</host>
            <port>2181</port>
        </node>
    </zookeeper>
    
  • 同步配置文件到其他节点

    /etc/clickhouse-server/config.d/metrika.xml
    /etc/clickhouse-server/config.xml
    
  • 启动 zookeeper 集群服务

  • 分别在 clickhouse 对应的节点启动服务

    sudo clickhouse start
    

四、使用

  • 在集群一台节点 hadoop102 上进入 clickhouse 客户端并创建表

    create table t_order_rep2 
    (
    	id UInt32,
    	sku_id String,
    	total_amount Decimal(16,2),
    	create_time Datetime
    ) 
    engine=ReplicatedMergeTree('/clickhouse/table/01/t_order_rep','rep_102')
    partition by toYYYYMMDD(create_time)
    primary key (id)
    order by (id,sku_id);
    
    --ReplicatedMergeTree中的参数说明:
    --1. '/clickhouse/table/01/t_order_rep':指定表的分片在 zookeeper 中的地址,一般按照 /clickhouse/table/{shard}/{table_name} 的格式,只有一个分片就写 01
    
    --2. 'rep_102':指定副本名称,相同的分片副本名称不能相同
    
  • 在集群另一台节点 hadoop103 上进入 clickhouse 客户端并创建表

    create table t_order_rep2 
    (
    	id UInt32,
    	sku_id String,
    	total_amount Decimal(16,2),
    	create_time Datetime
    ) 
    engine=ReplicatedMergeTree('/clickhouse/table/01/t_order_rep','rep_103')
    partition by toYYYYMMDD(create_time)
    primary key (id)
    order by (id,sku_id);
    
  • 在 hadoop102 上向表中插入数据

    insert into t_order_rep2 values
    (101,'sku_001',1000.00,'2020-06-01 12:00:00'),
    (102,'sku_002',2000.00,'2020-06-01 12:00:00'),
    (103,'sku_004',2500.00,'2020-06-01 12:00:00'),
    (104,'sku_002',2000.00,'2020-06-01 12:00:00'),
    (105,'sku_003',600.00,'2020-06-02 12:00:00');
    
  • 在 hadoop103 上查询表中数据,能正确返回则表示副本配置成功

    select * from t_order_rep2;
    

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/742924.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Docker - Oracle Database 23ai Free

博文目录 文章目录 说明命令NavicatSYSTEMPDBADMIN 扩展公共用户本地用户 说明 Oracle 官方镜像仓库 Database 23ai Free | Oracle Docker 官方没有提供 Oracle Database 相关镜像, 但是 Oracle 官方镜像仓库有提供, 打开上面的链接, 选择 Database, 选择合适的版本, 如 enter…

springboot民宿信息管理系统-计算机毕业设计源码08818

摘 要 信息化社会内需要与之针对性的信息获取途径&#xff0c;但是途径的扩展基本上为人们所努力的方向&#xff0c;由于站在的角度存在偏差&#xff0c;人们经常能够获得不同类型信息&#xff0c;这也是技术最为难以攻克的课题。针对民宿信息管理系统等问题&#xff0c;对民宿…

【漏洞复现】华测监测预警系统——SQL注入漏洞

声明&#xff1a;本文档或演示材料仅供教育和教学目的使用&#xff0c;任何个人或组织使用本文档中的信息进行非法活动&#xff0c;均与本文档的作者或发布者无关。 文章目录 漏洞描述漏洞复现测试工具 漏洞描述 华测监测预警系统2.2版本存在sql注入&#xff0c;UserEdit接口S…

归并排序与快速排序总结-c++

一&#xff0c;归并排序 归并排序&#xff08;Merge sort&#xff09;是建立在归并操作上的一种有效的排序算法。该算法分治法&#xff08;Divide and Conquer&#xff09;的一个非常典型的应用。 作为一种典型的分而治之思想的算法应用&#xff0c;归并排序的实现由两种方法…

怎么用电脑在线制作活码?快速将活码生成的操作方法

随着现在很多内容都可以通过生成二维码的方式来展示&#xff0c;所以在很多地方都会将内容生成二维码的方式让其他人通过扫码查看内容。二维码不仅能够简化用户获取内容的流程&#xff0c;还可以降低成本&#xff0c;有效提升用户体验&#xff0c;那么不同内容的二维码如何制作…

【SQL Server数据库】数据的增删改操作

目录 一、用SQL语句完成下列功能。 1、新开设一门课程&#xff0c;名叫网络安全与防火墙&#xff0c;学时40&#xff0c;编号为“0118”&#xff0c;主要介绍网络的安全与主要的防火墙软件。 2、先建立monitor表&#xff0c;其结构与student表大致一样&#xff0e;…

c++网络通信

TCP/IP协议 OSI参考模型采用分层划分原则&#xff0c;将网络中的数据传输划分为7层&#xff0c;其中&#xff0c;物理层居于最下层&#xff0c;是最基础、核心的网络硬件层&#xff1b;应用层居于最上层&#xff0c;负责应用资源的管理。每一层使用下层的服务&#xff0c;并向…

js小题3:构造函数介绍与普通函数对比

一、构造函数介绍&#xff1a; 在JavaScript中&#xff0c;构造函数是用于创建和初始化一个由new关键字生成的对象的特殊函数。构造函数的名字通常以大写字母开头&#xff0c;但这并不是JavaScript语法的一部分&#xff0c;而是一种约定俗成的命名规范&#xff0c;有助于区分构…

海南聚广众达电子商务咨询有限公司抖音电商的领航者

在数字经济的浪潮中&#xff0c;电子商务已经成为企业发展的重要引擎。而抖音&#xff0c;这个短视频平台的崛起&#xff0c;更是为电商行业带来了全新的机遇和挑战。海南聚广众达电子商务咨询有限公司&#xff0c;作为抖音电商服务的佼佼者&#xff0c;以其专业的服务、创新的…

Go语言环境安装

Go下载地址 哪个能用用哪个。 https://go.dev/ https://golang.google.cn/&#xff08;Golang官网的官方镜像&#xff09; Windows 使用.msi安装包安装 下载msi文件 安装 双击运行go1.22.4.windows-amd64.msi Next 勾选I accept the terms in the License Agreement&…

查看es p12证书文件过期方法

查看证书过期时间: openssl pkcs12 -in elastic-certificates.p12 -nokeys -out elastic-certificates.crt (需要输入证书生成时配置密码) openssl x509 -enddate -noout -in elastic-certificates.crt

CTF实战:从入门到提升

&#x1f389;&#x1f389;欢迎来到我的CSDN主页&#xff01;&#x1f389;&#x1f389; &#x1f3c5;我是尘缘&#xff0c;一个在CSDN分享笔记的博主。&#x1f4da;&#x1f4da; &#x1f449;点击这里&#xff0c;就可以查看我的主页啦&#xff01;&#x1f447;&#x…

通付盾入选2024中国数字安全综合实力百强

近日&#xff0c;国内数字化产业第三方调研与咨询机构数世咨询正式发布《新质•中国数字安全百强报告(2024)》&#xff08;以下简称“报告”&#xff09;。通付盾凭借综合实力&#xff0c;从国内800余家经营数字安全业务的企业中脱颖而出&#xff0c;入选综合实力百强“竞争者”…

AI绘画Stable Diffusion人物背景替换实操教程,让创意无限延伸

大家好&#xff0c;我是画画的小强 Stable Diffusion以其强大的能力可以实现人物背景的更换。本文将带你深入了解如何利用Stable Diffusion中的Inpaint Anything插件快速且精准地实现人物背景的替换&#xff0c;从而让你的图片焕发新生。 前期准备 本文会使用到Inpaint Anyt…

230个大模型招投标大单,前三令人意外

大模型市场争夺白热化&#xff0c;前三的座次每个月都在变。 2024年被认为是大模型的应用落地元年&#xff0c;大模型落地的进展一直备受瞩目&#xff0c;而大模型招投标信息被认为是其中的风向标。最近&#xff0c;数智前线通过中国政府采购网、中国招投标公共服务平台、天眼…

思看科技IPO背后:募资金额下调,在创始人配偶管辖下获得补贴?

近日&#xff0c;思看科技&#xff08;杭州&#xff09;股份有限公司&#xff08;下称“思看科技”&#xff09;更新提交2023年最新财务资料&#xff0c;IPO审核进程恢复正常。据贝多财经了解&#xff0c;思看科技于2023年6月递交招股书&#xff0c;同年7月历经第一轮问询。 目…

项目maven标志消失,pom文件显示为橙色/橘色标志

背景&#xff1a; 公司开发新的项目&#xff0c;我要拉一下item服务的工程进行开发&#xff0c;等我把代码拉下来发现我idea右侧边栏的maven没了&#xff0c;pox.xml文件也变成了这种橙色/橘色的标志。 分析&#xff1a; 这个是一个不正常的maven项目pom&#xff0c;可能是由于…

Node.js实现短链接(ShortLink):shortid、epxress让URL更简单

文章目录 一、短链接介绍二、插件介绍1、epxress2、shortid 三、实现方案1、安装依赖&#xff1a;2、实现原理 四、示例代码五、测试生产短链接 一、短链接介绍 短链接是指仅包含一个网址的链接形式&#xff0c;通俗一些就是将一个很长很复杂的的网址变成一个简短易记的链接。…

【大数据技术原理与应用(概念、存储、处理、分析与应用)】第1章-大数据概述习题与知识点回顾

文章目录 单选题多选题知识点回顾几次信息化浪潮主要解决什么问题&#xff1f;信息科技为大数据时代提供哪些技术支撑&#xff1f;数据产生方式有哪些变革&#xff1f;大数据的发展历程大数据的四个特点&#xff08;4V&#xff09;大数据对思维方式的影响大数据有哪些关键技术&…

Android10 Settings系列(六)Settings中toolbar 的基本流程,和Activity如何关联,这可能是比较详细的分析

一、前言 写在前面:一个快捷栏,音量浮窗快捷进入设置界面,点击左上角返回键拉起设置首页问题引发的思考和解决方法 事情的起因是测试报了一个问题。在Android9的一个设备在点击音量键时,在弹出的弹框中,点击设置图标快速进入音量设置中,点击左上角返回按钮是,退出当前界…