Kafka的broker替补替换测试
测试场景
1) 准备四台服务器A,B,C,D,并在A,B,C分别启动kafka的broker服务,brokerid分别为
53,67,87,D服务器暂不做配置
2) 创建topictestBrokerChange,Recotor为2,partition为1的topic为test(假如:topic在A,B上)
3) 向test发送消息。
4) Kill掉其中brokerId为67的kafka服务进程(即宕掉该服务)
5) 并在D服务器配置与B服务器相同的kafak服务配置,并将机器D的brokerId设置为67,启动该kafka服务。
6) 再次向该test发送一定量消息,且与第一次作出异样标志
7) 等待3分钟后时间直到该kafak集群消息得到同步,再次kill掉机器D上的kafka服务进程
8) 重启服务器B的kafka服务进程,该机器在此期间不做任何配置更改操作
9) Kill掉机器C的kafka服务进程,brokerid为87
10) 再次查看topic详细信息
11) 用接受者客户端程序对B服务器接收收消息
注:以上broker服务都配置在同一zookeeper集群中
测试操作
1) bin/kafka-topics.sh --create --zookeeper localhost:3181--replication-factor 2 --partitions 1--topic TestBrokerChange
Created topic "TestBrokerChange"
2)查看该topic
bin/kafka-topics.sh -zookeeper localhost:3181 -describe -topicTestBrokerChange
Topic:TestBrokerChange PartitionCount:1 ReplicationFactor:2 Configs:
Topic:TestBrokerChange Partition: 0 Leader: 67 Replicas: 67,87 Isr:67,87
3)用客户端程序向该topic发送 10条消息
MessageHeader[producerId=835249698, serialNO=0, key=10, type=99