clickhouse遷移工具clickhouse-copier

原來的集群沒有高可用而且配置很低,所有準備將一個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…