檢視現在副本分配情況
../bin/kafka-topics.sh --zookeeper 127.0.0.1:2181 --describe --topic test1
topic:test1 partitioncount:3 replicationfactor:2 configs:
topic: test1 partition: 0 leader: 2 replicas: 2,4 isr: 2,4
topic: test1 partition: 1 leader: 3 replicas: 3,5 isr: 3,5
topic: test1 partition: 2 leader: 4 replicas: 4,1 isr: 4,1
./kafka-topics.sh --zookeeper 127.0.0.1:2181 -alter --partitions 4 --topic test1
這個檔案自己建立 格式按照下面的格式就可以了
根據topic的分割槽情況自行修改 partitions-topic.json 檔案配置
,,],
"version":1
}
執行副本搬遷
../bin/kafka-reassign-partitions.sh --zookeeper 127.0.0.1:2181 --reassignment-json-file partitions-topic.json --execute
檢視遷移情況:
../bin/kafka-reassign-partitions.sh --zookeeper 127.0.0.1:2181 --reassignment-json-file partitions-topic.json --verify
status of partition reassignment:
reassignment of partition [mx_prd_nginx_access,0] is still in progress
reassignment of partition [mx_prd_nginx_access,1] completed successfully
reassignment of partition [mx_prd_nginx_access,2] is still in progress
注釋
kafka-reassign-partitions.sh工具來重新分布分割槽。該工具有三種使用模式:
generate模式,給定需要重新分配的topic,自動生成reassign plan(並不執行)
execute模式,根據指定的reassign plan重新分配partition
verify模式,驗證重新分配partition是否成功
kafka 修改副本數
desc 環境有 6 個 kafka broker,目前是 2副本,考慮將副本數提高到 3 或者 4 新增 kafka 的副本數,提高容災率。該工具可以進行手動分配 partition 到特定的 broker,在特定情況下很有用,比如 某個partition不均衡手動重分 某個broker掛掉了手動...
kafka 修改分割槽 kafka分割槽
一 topic下引入partition的作用 topic是邏輯的概念,partition是物理的概念。為了效能考慮,如果topic內的訊息只存於乙個broker,那這個broker會成為瓶頸,無法做到水平擴充套件。kafka通過演算法盡可能的把partition分配到集群的不同伺服器上。partit...
kafka分割槽和副本機制驗證
目前使用kafka集群,但是由於資料量還行,就不想使用太多的分割槽,所以只想弄乙個分割槽,網上資料看了一大堆,基本都是些理論和囉嗦,於是乎自己手動來驗證下這個情況的好壞。假設是三颱機器的kafka集群,建立乙個主題one fb1 fq1,指定副本數1和分割槽數1,命令 bin kafka topic...