原来的集群没有高可用而且配置很低,所有准备将一个3分片1副本集群迁到1分片2副本的高配置集群,数据量比较大。

虽然官方已经标记clickhouse-copier已经过时,但为了方便和高效还是用了copier,效果还挺好

以下是使用步骤:

  1. 服务器上下载copier解压后,首先需要准备keeper.xml文件,目标端使用的是clickhouse-keeper,这里配置还是zookeeper但是不影响
<!-- config.xml -->
<clickhouse><logger><level>trace</level><size>100M</size><log>./log/clickhouse-copier/copier/log.log</log><errorlog>./log/clickhouse-copier/copier/log.err.log</errorlog><count>3</count></logger># 填入对应的 keeper的ip地址<zookeeper><node index="1"><host>172.23.3.44</host><port>9181</port></node><node index="2"><host>172.23.3.55</host><port>9181</port></node><node index="3"><host>172.23.3.66</host><port>9181</port></node></zookeeper></clickhouse>
  1. 准备迁移任务文件task_migrate_all.xml,可以将需要迁移的表放在一个文件,或者分成多个文件都可,但保证需要迁移的表在源集群所有节点都有,可以建空表来跳过检查,否则会报错
<clickhouse><remote_servers>##源集群地址<source_cluster><shard><internal_replication>false</internal_replication><replica><host>172.23.3.11</host> <port>9000</port><user>user_name</user><password>pwd</password></replica></shard><shard><internal_replication>false</internal_replication><replica><host>172.23.3.12</host> <port>9000</port><user>user_name</user><password>pwd</password></replica></shard><shard><internal_replication>false</internal_replication><replica><host>172.23.3.13</host> <port>9000</port><user>user_name</user><password>pwd</password></replica></shard></source_cluster>#目标集群地址<destination_cluster><shard><internal_replication>true</internal_replication><replica><host>172.23.3.44</host> <port>9000</port><user>user_name</user><password>pwd</password></replica><replica><host>172.23.3.55</host> <port>9000</port><user>user_name</user><password>pwd</password></replica></shard></destination_cluster></remote_servers># 并发线程<max_workers>12</max_workers>#对源库只读<settings_pull><readonly>1</readonly></settings_pull><!-- Setting used to insert (push) data to destination cluster tables --><settings_push><readonly>0</readonly></settings_push><settings><connect_timeout>3</connect_timeout><!-- Sync insert is set forcibly, leave it here just in case. --><distributed_foreground_insert>1</distributed_foreground_insert></settings># 需要迁移的表,可以tables里面可以写多张表<tables><table_sms_send><cluster_pull>source_cluster</cluster_pull><database_pull>test_qwe</database_pull><table_pull>sms_send</table_pull><cluster_push>destination_cluster</cluster_push><database_push>test_qwe</database_push><table_push>sms_send</table_push># 因为是多副本,需要使用复制表,否则只有单节点有数据<engine>ENGINE = ReplicatedReplacingMergeTree('/clickhouse/tables/{cluster}/{shard}/{database}/{table}', '{replica}')PARTITION BY toYYYYMM(create_time)ORDER BY (id, phone_number, state, create_time)</engine># 1分片不需要分片键,这里设置为1<sharding_key>1</sharding_key></table_sms_send><table_use_car><cluster_pull>source_cluster</cluster_pull><database_pull>test_qwe</database_pull><table_pull>use_car</table_pull><cluster_push>destination_cluster</cluster_push><database_push>testqwe</database_push><table_push>use_car</table_push><engine>ENGINE = ReplicatedReplacingMergeTree('/clickhouse/tables/{cluster}/{shard}/{database}/{table}', '{replica}', add_time)ORDER BY (id, detail_id)</engine><sharding_key>1</sharding_key></table_use_car></tables></clickhouse>
  1. 在clickhouse-copier解压目录执行命令开始迁移 .
# 这里task-path表示keeper存储的迁移任务路径
/clickhouse-copier --config keeper.xml --task-path /clickhouse/copier_task/mig_test --task-file=task_migrate_all.xml 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/web/95783.shtml
繁体地址,请注明出处:http://hk.pswp.cn/web/95783.shtml
英文地址,请注明出处:http://en.pswp.cn/web/95783.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

高频超声波传感器:以精准感知重塑未来科技生态

在智能制造的浪潮中&#xff0c;高频超声波传感器正以“隐形工程师”的角色&#xff0c;重新定义着工业检测、医疗诊断与环境监测的边界。这款融合了压电材料科学与微纳电子技术的精密仪器&#xff0c;凭借其亚毫米级测量精度与纳秒级响应速度&#xff0c;正在成为高端装备制造…

残差连接与归一化结合应用

残差连接&#xff08;Residual Connection / Skip Connection&#xff09;和归一化&#xff08;Normalization&#xff09;的结合&#xff0c;是现代深度学习模型&#xff08;尤其是深度神经网络和Transformer架构&#xff09;成功的关键因素之一。 核心概念回顾残差连接 (Resi…

K8s集群+Rancher Server:部署DolphinScheduler 3.2.2集群

本文手把手演示了如何在 K8s Rancher 环境中快速拉起一套生产可用的 Apache DolphinScheduler 3.2.2 集群。全文围绕“镜像加速、依赖本地化、存储持久化”三大痛点展开&#xff0c;附有详细的代码解析&#xff0c;收藏细看吧&#xff01; 环境准备 1、软件准备2、环境规划部署…

查询语言的进化:SQL之后,为什么是GQL?数据世界正在改变

数据是现代世界的核心驱动力。 在数据驱动的世界里&#xff0c;查询语言就像人与数据沟通的桥梁。 如何高效地获取、操作和理解数据&#xff0c;取决于查询语言的演进。 自20世纪70年代关系型数据库兴起以来&#xff0c;SQL&#xff08;Structured Query Language&#xff0…

AgentThink:一种在自动驾驶视觉语言模型中用于工具增强链式思维推理的统一框架

文章目录摘要1. 引言2. 相关工作2.1 自动驾驶中的语言模型2.2 自动驾驶中的视觉问答3. 方法3.1 数据生成流水线3.2 两阶段训练流程3.2.1 基于 SFT 的推理预热3.2.2 基于 RLFT 的推理增强3.3 推理与评估4. 实验4.1 主要实验结果4.2 工具使用分析4.3 消融实验4.4 泛化性评估5. 结…

Bug 排查日记:打造高效问题定位与解决的技术秘籍

一、引言在软件开发的漫漫征程中&#xff0c;Bug 如影随形&#xff0c;成为开发者们必须跨越的一道道障碍。它们或如微小的瑕疵&#xff0c;影响用户体验&#xff1b;或似隐藏的炸弹&#xff0c;引发系统故障&#xff0c;导致严重后果。高效排查 Bug&#xff0c;不仅是保障软件…

使用 Sentry 为 PHP 和 Web 移动小程序提供多平台错误监控

今天我在 reddit 上看到 Sentry 的推广&#xff0c;想到 19 年我第一次在公司自研产品b2b2c上使用 Sentry 的经历&#xff0c;后面在其他项目上多次使用Sentry&#xff0c;今天就顺手分享一下在 Laravel 项目中接入 Sentry 的实践心得。现代项目往往涉及 Web、移动端和小程序&a…

Python包管理工具全对比:pip、conda、Poetry、uv、Flit深度解析

在Python开发中&#xff0c;包的管理和使用是重要环节&#xff0c;现如今python包管理工具众多&#xff0c;如何选择合适的管理工具&#xff1f;常用的工具有pip、conda、Poetry、uv、Flit&#xff0c;下面这些工具进行详细对比分析。一、工具概览对比工具类型开发者主要特点适…

车载诊断架构 --- Service 14一丢丢小汇总

我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 做你把时间花在哪里,你的人生就在哪里。千万别看见别人发光,就觉得自己暗淡。人生如逆旅,你我皆行人。唯有不断阅己、越己、悦己才能活出生命的意…

Struts2 工作总结

一 in&#xff0c;在SQL中&#xff0c;IN 是一个条件操作符&#xff0c;用于指定多个可能的值&#xff0c;通常用在 WHERE 子句中。它的作用是检查某个字段的值是否在给定的值列表中&#xff0c;相当于多个 OR 条件的简写形式。不使用 IN&#xff08;冗长&#xff09;SELECT * …

MQTT 认证与授权机制实践(二)

四、实战案例&#xff1a;主流 Broker 的认证授权配置指南&#xff08;一&#xff09;EMQ X&#xff1a;企业级物联网 Broker 的安全方案1. 认证配置&#xff08;用户名密码 证书&#xff09;EMQ X 作为一款企业级物联网 Broker&#xff0c;在安全认证方面提供了丰富且灵活的配…

多路转接介绍及代码实现

目录 1.多路转接技术的产生背景 2.select 3.poll 3.epoll 1.多路转接技术的产生背景 一个技术的出现必然有它要解决的问题,那么多路转接解决的问题是什么嗯? 我们知道,一个进程里面有一个文件描述符表管理这个进程所打开的文件,我们进行网络通信的时候,本质就是创建一个…

《sklearn机器学习——回归指标1》

skearn.metrics模块实现一些损失函数&#xff0c;评分&#xff0c;并且应用函数去测度回归标签。其中一些已经改进&#xff0c;可以处理多指标案例&#xff1a;mean_squared_error&#xff0c;mean_absolute_error&#xff0c;explained_variance_score和r2_score。 这些函数使…

消息存储机制-索引文件及页缓存

对于生产者来说&#xff0c;将消息写到commit log文件里面。这里会有消息的逻辑队列&#xff0c;逻辑队列里面保存了消息的偏移量。除了consumerquenue之外&#xff0c;它还会将数据分发到另外一个文件叫indexfile索引文件里面。这个索引文件可以保存消息的一些信息&#xff0c…

辗转相除法(欧几里得算法)的证明

欢迎访问我的主页: https://heeheeaii.github.io/ 辗转相除法是一种用于计算两个非负整数最大公约数的有效算法。它的证明主要分为两个部分&#xff1a; 证明核心引理&#xff1a; gcd(a,b)gcd(b,amodb)证明算法的收敛性&#xff1a; 证明算法一定会在有限步内结束。 辗转相除法…

RL【3】:Bellman Optimality Equation

系列文章目录 文章目录系列文章目录前言Definition of optimal policyBellman optimality equationIntroductionMaximization on the right-hand sideContraction mapping theoremSolutionOptimalityAnalyzing optimal policies总结前言 本系列文章主要用于记录 B站 赵世钰老师…

有序数组,距离目标最近的k个数 二分查找

&#x1f914; 新手做题思路&#xff1a;第1步&#xff1a;理解题目- 找距离x最近的k个数- 数组已排序- 返回结果也要排序&#xff08;升序&#xff09;- 距离相同时&#xff0c;选择较小的数第2步&#xff1a;关键insight- 数组已排序 → 考虑二分查找- 最近的k个数一定是连续…

学习心得分享

我认为知识是一定要系统化的学习&#xff0c;结构化梳理&#xff0c;这样在运用或思考的时候&#xff0c;能够回忆起自己在这一块梳理的知识结构&#xff0c;如果有记录那么能快速回忆并理解&#xff0c;如果没有记录&#xff0c;那么说明对自己来说超纲了&#xff0c;把知识进…

为什么说 Linode 和 DigitalOcean 的差距,不止于 VPS?

在今天这个全球化的商业战场上&#xff0c;中国企业的出海已从“选择题”变为“必答题”。当我们满怀雄心&#xff0c;将产品和业务推向海外市场时&#xff0c;基础设施的选择&#xff0c;往往是决定成败的第一步。它不仅关乎成本与性能&#xff0c;更直接影响着团队的开发效率…

NSSCTF每日一题_Web_[SWPUCTF 2022 新生赛]奇妙的MD5

为了保持做题的感觉和持续学习&#xff0c;也就有了每日一题系列&#xff0c;选一些有意义的题目或者一些CTF新颖题目作为参考学习。[SWPUCTF 2022 新生赛]奇妙的MD51. 访问首页界面并进行分析估计题目MD5提示,查询得知ffifdyop 这个字符串是一个奇妙的MD5字符串因为将“ffifdy…