一、broker的遷移
創(chuàng)新互聯(lián)公司主打移動網(wǎng)站、成都做網(wǎng)站、網(wǎng)站制作、網(wǎng)站改版、網(wǎng)絡(luò)推廣、網(wǎng)站維護(hù)、國際域名空間、等互聯(lián)網(wǎng)信息服務(wù),為各行業(yè)提供服務(wù)。在技術(shù)實(shí)力的保障下,我們?yōu)榭蛻舫兄Z穩(wěn)定,放心的服務(wù),根據(jù)網(wǎng)站的內(nèi)容與功能再決定采用什么樣的設(shè)計(jì)。最后,要實(shí)現(xiàn)符合網(wǎng)站需求的內(nèi)容、功能與設(shè)計(jì),我們還會規(guī)劃穩(wěn)定安全的技術(shù)方案做保障。1.查看zookeeper和kafka啟動情況
[root@slave1 ~]# pssh -h hostlist -i 'jps' [1] 22:08:11 [SUCCESS] 20.0.5.12 3492 QuorumPeerMain 8140 Jps 6414 Kafka [2] 22:08:11 [SUCCESS] 20.0.5.13 3490 QuorumPeerMain 4972 Kafka 22972 Jps [3] 22:08:11 [SUCCESS] 20.0.5.11 7369 QuorumPeerMain 23754 Jps 11534 Kafka [4] 22:08:11 [SUCCESS] 20.0.5.14 21263 Jps [5] 22:08:11 [SUCCESS] 20.0.5.15 20818 Jps
2.創(chuàng)建一個topic
[root@slave1 ~]# /opt/kafka/bin/kafka-topics.sh --create --zookeeper 20.0.5.11:2181 --replication-factor 3 --partitions 3 --topic topic1 Created topic "topic1". [root@slave1 ~]# /opt/kafka/bin/kafka-topics.sh --describe --zookeeper 20.0.5.11:2181 --topic topic1 Topic:topic1 PartitionCount:3 ReplicationFactor:3 Configs: Topic: topic1 Partition: 0 Leader: 1 Replicas: 1,3,2 Isr: 1,3,2 Topic: topic1 Partition: 1 Leader: 2 Replicas: 2,1,3 Isr: 2,1,3 Topic: topic1 Partition: 2 Leader: 3 Replicas: 3,2,1 Isr: 3,2,1
3.在要遷移的節(jié)點(diǎn)上啟動kafka進(jìn)程
[root@slave1 ~]# pssh -h hostlist '/opt/kafka/bin/kafka-server-start.sh /opt/kafka/config/server.properties > /root/kafka.log 2>1&' [1] 22:17:21 [SUCCESS] 20.0.5.12 [2] 22:17:21 [SUCCESS] 20.0.5.11 [3] 22:17:21 [SUCCESS] 20.0.5.13 [4] 22:17:21 [SUCCESS] 20.0.5.14 [5] 22:17:21 [SUCCESS] 20.0.5.15 [root@slave1 ~]# pssh -h hostlist -i 'jps' [1] 22:17:29 [SUCCESS] 20.0.5.12 3492 QuorumPeerMain 8461 Jps 6414 Kafka [2] 22:17:29 [SUCCESS] 20.0.5.14 21298 Kafka 21609 Jps [3] 22:17:29 [SUCCESS] 20.0.5.11 7369 QuorumPeerMain 24844 Jps 11534 Kafka [4] 22:17:29 [SUCCESS] 20.0.5.13 3490 QuorumPeerMain 4972 Kafka 23292 Jps [5] 22:17:29 [SUCCESS] 20.0.5.15 20854 Kafka 21165 Jps
4.創(chuàng)建需要遷移的topic的json文件
[root@slave1 ~]# cat topic_move.json {"topics": [{"topic": "topic1"}], "version":1 }
5.生成遷移規(guī)則
[root@slave1 ~]# /opt/kafka/bin/kafka-reassign-partitions.sh --zookeeper 20.0.5.11:2181 --topics-to-move-json-file topic_move.json --broker-list "3,4,5" --generate Current partition replica assignment {"version":1,"partitions":[{"topic":"topic1","partition":1,"replicas":[2,1,3],"log_dirs":["any","any","any"]},{"topic":"topic1","partition":0,"replicas":[1,3,2],"log_dirs":["any","any","any"]},{"topic":"topic1","partition":2,"replicas":[3,2,1],"log_dirs":["any","any","any"]}]} Proposed partition reassignment configuration {"version":1,"partitions":[{"topic":"topic1","partition":1,"replicas":[5,3,4],"log_dirs":["any","any","any"]},{"topic":"topic1","partition":0,"replicas":[4,5,3],"log_dirs":["any","any","any"]},{"topic":"topic1","partition":2,"replicas":[3,4,5],"log_dirs":["any","any","any"]}]}
6.將生成的數(shù)據(jù)寫入新的json文件
[root@slave1 ~]# cat re_node.json {"version":1,"partitions":[ {"topic":"topic1","partition":1,"replicas":[5,3,4],"log_dirs":["any","any","any"]}, {"topic":"topic1","partition":0,"replicas":[4,5,3],"log_dirs":["any","any","any"]}, {"topic":"topic1","partition":2,"replicas":[3,4,5],"log_dirs":["any","any","any"]}] }
7.開始遷移
[root@slave1 ~]# /opt/kafka/bin/kafka-reassign-partitions.sh --zookeeper 20.0.5.11:2181 --reassignment-json-file re_node.json --execute Current partition replica assignment {"version":1,"partitions":[{"topic":"topic1","partition":1,"replicas":[2,1,3],"log_dirs":["any","any","any"]},{"topic":"topic1","partition":0,"replicas":[1,3,2],"log_dirs":["any","any","any"]},{"topic":"topic1","partition":2,"replicas":[3,2,1],"log_dirs":["any","any","any"]}]} Save this to use as the --reassignment-json-file option during rollback Successfully started reassignment of partitions. [root@slave1 ~]# /opt/kafka/bin/kafka-reassign-partitions.sh --zookeeper 20.0.5.11:2181 --reassignment-json-file re_node.json --verify Status of partition reassignment: Reassignment of partition topic1-1 completed successfully Reassignment of partition topic1-0 completed successfully Reassignment of partition topic1-2 completed successfully
8.查看新的分區(qū)
[root@slave1 ~]# /opt/kafka/bin/kafka-topics.sh --describe --zookeeper 20.0.5.11:2181 --topic topic1 Topic:topic1 PartitionCount:3 ReplicationFactor:3 Configs: Topic: topic1 Partition: 0 Leader: 4 Replicas: 4,5,3 Isr: 5,3,4 Topic: topic1 Partition: 1 Leader: 5 Replicas: 5,3,4 Isr: 5,3,4 Topic: topic1 Partition: 2 Leader: 3 Replicas: 3,4,5 Isr: 5,3,4
#遷移完后修改好producer和consumer指向新的連接后再停止舊的服務(wù)
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。