Kafka 資料遷移

2021-09-12 15:08:54 字數 1940 閱讀 3421

當kafka 減少broker節點後,需要把資料分割槽遷移到其他節點上,以下將介紹我的一次遷移驗證過程。

前3步為環境準備,實際資料操作看第4步即可

增加broker節點,也可以採用步驟4相同的方法進行重新分割槽

方案思想:使用kafka-reassign-partitions命令,把partition重新分配到指定的broker上

1、建立測試topic,具有3個分割槽,2個副本

kafka-topics --create --topic test-topic \

--zookeeper cdh-002/kafka \

--replication-factor 2 --partitions 3

2、檢視test-topic

3、產生若干條資料

kafka-console-producer --topic test-topic \

--broker-list cdh-004:9092

4、kafka-reassign-partitions重分割槽(假設需要減少節點broker 75,本測試通過關閉對應kafka broker節點模擬)

(1) 新建檔案topic-to-move.json ,比加入如下內容

], "version": 1}

(2) 使用--generate生成遷移計畫,broker-list根據自己環境設定,我的環境由於broker 75掛掉了,只剩下76和77

kafka-reassign-partitions --zookeeper cdh-002/kafka \

--topics-to-move-json-file /opt/lb/topic-to-move.json \

--broker-list "76,77" --generate

輸出日誌:(從日誌可知各個分割槽副本所在的broker節點,以及建議的副本分布)

current partition replica assignment (當前分割槽副本分布)

,,]}

proposed partition reassignment configuration (建議分割槽副本分布)

,,]}

(3) 新建檔案kafka-reassign-execute.json,並把建議的分割槽副本分布配置拷貝到新建檔案中

(4) 使用--execute執行遷移計畫 (有資料移動,broker 75上的資料會移到broker 76和77上,如果資料量大,執行的時間會比較久,耐心等待即可)

kafka-reassign-partitions --zookeeper cdh-002/kafka \

--reassignment-json-file /opt/lb/kafka-reassign-execute.json \

--execute

(5)使用-verify檢視遷移進度

kafka-reassign-partitions --zookeeper cdh-002/kafka \

--reassignment-json-file /opt/lb/kafka-reassign-execute.json \

--verify

(6)通過消費者驗證,可知,並未丟失資料。注意需要加--from-beginning。(此時broker 75和77同時宕機,也不會丟失資料,因為76上有了所有分割槽的副本)

另外一種驗證方法就是通過檢視kafka儲存路徑來確認,是否有遷移資料

[root@cdh-003 ~]# cd /var/local/kafka/data/

[root@cdh-003 data]# ll

rwxr-xr-x 2 kafka kafka 110 oct 23 14:21 test-topic-0

drwxr-xr-x 2 kafka kafka 110 oct 23 14:52 test-topic-1

drwxr-xr-x 2 kafka kafka 110 oct 23 14:21 test-topic-2

Kafka 資料遷移

當kafka 減少broker節點後,需要把資料分割槽遷移到其他節點上,以下將介紹我的一次遷移驗證過程。前3步為環境準備,實際資料操作看第4步即可 增加broker節點,也可以採用步驟4相同的方法進行重新分割槽 方案思想 使用kafka reassign partitions命令,把partitio...

kafka集群擴容以及資料遷移

一 kafka集群擴容比較簡單,機器配置一樣的前提下只需要把配置檔案裡的brokerid改乙個新的啟動起來就可以。比較需要注意的是如果公司內網dns更改的不是很及時的話,需要給原有的舊機器加上新伺服器的host,不然可能會產生controller伺服器從zk上拿到網域名稱但是解析不到新機器位址的情況...

kafka訊息系統 海量資料遷移方案

由於本人主要從事大資料視覺化的工作,就少不了對海量資料的分析,但是我們並不是資料的生產 資料來自有大資料視覺化分析需求的使用者,所以實際業務中往往會遇到大量資料從傳統儲存方式 關係型資料庫 檔案儲存等 到資料倉儲的遷移,本次就以實現如何基於kafka從oracle到hive倉庫做資料的遷移工作。本次...