將現有的集群上任乙個伺服器上的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
在遷移完成過程後,可以使用以下命令看下topic的每個partitions的分布情況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
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...