kafka集群安装及管理(二)

一、broker的迁移

谯城ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为创新互联公司的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:028-86922220(备注:SSL证书合作)期待与您的合作!

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.创建一个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.在要迁移的节点上启动kafka进程

[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.创建需要迁移的topic的json文件

[root@slave1 ~]# cat topic_move.json
{"topics": [{"topic": "topic1"}],
"version":1
}

5.生成迁移规则

[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.将生成的数据写入新的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.查看新的分区

[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指向新的连接后再停止旧的服务

本文标题:kafka集群安装及管理(二)
转载注明:https://www.cdcxhl.com/article34/gocepe.html

成都网站建设公司_创新互联,为您提供动态网站定制开发企业网站制作用户体验网站导航响应式网站

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

成都app开发公司