Kafka學習整理九 集群的擴容

2021-08-08 18:16:09 字數 3474 閱讀 5503

將現有的集群上任乙個伺服器上的kafka目錄拷貝到新的伺服器上

修改config/server.properties中的broker.id、log.dirs、listeners

建立logs.dirs指定的目錄,並設定讀寫許可權(chomd -r 777 ***)

broker.id=

3log

.dirs=kafka-logs

listeners=plaintext:

bin/kafka-server-start.sh config/server.properties  &
雖然經過上面兩個步驟後已經完成了集群的擴容;但是集群上原有的topic的資料不會自動遷移到新的broker上。可以在新的broker所在的伺服器上通過ls /home/lxh/kafka_2.11-0.10.0.0/kafka-logs檢視到並沒有一原有的topic名稱的檔案目錄(因為建立topic後會在config/server.properties中的配置的log.dirs 目錄中生產以topic名稱+分割槽編號的檔案目錄);那麼就需要手動的區遷移資料

建立編輯要遷移的topic的 json檔案

vi topic-to

-move

.json

比如要將topic名稱為test和paritioer_test的資料重新平衡到集群中,就可以新增以下內容

,

],"version":1

}

生成遷移分配規則json檔案

bin/kafka-reassign

-partitions

.sh --zookeeper localhost:2181

--topics-to

-move

-json

-file topic-to

-move

.json --broker-list

"0,1,2"

--generate

得到的結果為

current partition replica assignment 

,,,,,]}

proposed partition reassignment configuration

,,,,,]}

其中的current partition replica assignment指的是遷移前的partition replica;proposed partition reassignment configuration 指的就是遷移分配規則json。需要將該json檔案儲存到json檔案中(如expand-cluster-reassignment.json)

注意:在遷移過程中不能人為的結束或停止kafka服務,不然會有資料不一致的問題

在執行的過程中,可以新開乙個終端執行以下命令來檢視執行是否正確完成

bin/kafka-reassign

-partitions

.sh --zookeeper localhost:2181

--reassignment-json

-file expand-cluster

-reassignment

.json --verify

輸出

status

of partition reassignment:

reassignment

of partition [test,4] completed successfully

reassignment

of partition [test,0] completed successfully

reassignment

of partition [paritioer_test,0] completed successfully

reassignment

of partition [test,3] completed successfully

reassignment

of partition [test,2] completed successfully

reassignment

of partition [test,1] completed successfully

在遷移完成過程後,可以使用以下命令看下topic的每個partitions的分布情況

bin/kafka

-topics.sh

--zookeeper

172.16.

49.173:2181--

describe--

topic

test

topic:test  partitioncount:5    replicationfactor:2 configs:

topic: test partition: 0 leader: 0 replicas: 0,1 isr: 0,1

topic: test partition: 1 leader: 1 replicas: 1,2 isr: 1,2

topic: test partition: 2 leader: 2 replicas: 2,0 isr: 0,2

topic: test partition: 3 leader: 0 replicas: 0,2 isr: 0,2

topic: test partition: 4 leader: 0 replicas: 1,0 isr: 0,1

可以看到名為test的topic的有的資料以及存在於編號為2的新broker上了

kafka 2 11 0 10 2 0集群安裝

集群環境 spark1 ip 192.168.6.137 spark2 ip 192.168.6.138 spark3 ip 192.168.6.139 cd usr local wget kafka 0.10.2.0 kafka 2.11 0.10.2.0.tgz tar xzf kafka 2....

kafka 2 11 0 11 0 1集群搭建

本文搭建乙個三節點的kafka集群。該集群有三個zookeeper 三個kafka broker。解壓kafka安裝包,獲得如下目錄 unzip kafka 2.11 0.11.0.1.zip kafka 2.11 0.11.0.1 kafka目錄結構 cd kafka 2.11 0.11.0.1 ...

kafka2 3集群搭建

環境 3臺centos7.4 3臺zookeeper3.4.14 wget 解壓 tar zxvf kafka 2.11 2.3.0.tgz 進入kafka目錄,修改config server.properties,找到zookeeper.connect,修改zk集群的連線位址為 zookeeper...