Apache kafka ApacheKafka-测试容错性

Apache kafka ApacheKafka-测试容错性,apache-kafka,Apache Kafka,免责声明:我正在学习,显然我做错了什么。感谢您的帮助 设置: 我使用vagrant创建了一个包含3个节点的ApacheKafka集群(每个节点都有一个单独的zk和kafka进程在运行)。我想测试容错性,所以我创建了一个复制主题,当我“描述”它时,所有3个节点都启动了: $KAFKA_HOME/bin/KAFKA-topics.sh--description--zookeeper 192.168.33.21:2181--topic-topic-1 主题:已复制-主题-1分区计数:1复制因子:3配置

免责声明:我正在学习,显然我做错了什么。感谢您的帮助

设置:
我使用vagrant创建了一个包含3个节点的ApacheKafka集群(每个节点都有一个单独的zk和kafka进程在运行)。我想测试容错性,所以我创建了一个复制主题,当我“描述”它时,所有3个节点都启动了:
$KAFKA_HOME/bin/KAFKA-topics.sh--description--zookeeper 192.168.33.21:2181--topic-topic-1
主题:已复制-主题-1分区计数:1复制因子:3配置:
主题:已复制-主题-1分区:0前导:1副本:2,3,1 Isr:1,2,3

测试容错性:
在引线(本例中为节点1)上,我想终止启动卡夫卡的进程。所以我在leader上找到pid来杀死它:
ps-elf | grep server.properties
4 S根2975 2900-10738?15:40 pts/0 00:00:00 sudo/usr/local/kafka/kafka_2.11-0.10.0.0///bin/kafka-server-start.sh/usr/local/kafka/kafka_2.11-0.10.0.0//config/server.properties
0 S vagrant 3438 2900 0 80 0-2184-15:41分/0 00:00:00 grep服务器。属性

我假设要杀死的pid是2975。我使用以下命令杀死它:
sudo kill-92975
[1] +杀死sudo$KAFKA_HOME/bin/KAFKA-server-start.sh$KAFKA_HOME/config/server.properties

到目前为止一切都很好。我想卡夫卡关于领袖的过程已经结束了。但是“描述”命令说领导没有倒下:

$KAFKA_HOME/bin/KAFKA-topics.sh--description--zookeeper 192.168.33.21:2181--topic-topic-1
主题:已复制-主题-1分区计数:1复制因子:3配置:
主题:已复制-主题-1分区:0前导:1副本:2,3,1 Isr:1,2,3

为了确保我杀死了卡夫卡进程,我尝试以下命令:
ps-elf | grep server.properties
0sVagrant 36542900800-2183-15:45分/0 00:00:00 grep服务器。属性

我猜进程确实被终止了,但是kafka集群中的所有3个节点仍然在运行。为了尝试,我杀死了vagrant正在运行的另一个进程(pid:3654):
sudo kill-93657
vagrant@debian-70rc1-x64-vbox4210:~$ps-elf | grep server.properties
0 S vagrant 3661 2900 0 80 0-2183-15:50 pts/0 00:00:00 grep server.properties

但显然,它又以一个不同的pid开始:
ps-elf | grep server.properties
0 S vagrant 3663 2900 0 80 0-2183-15:50分/0 00:00:00 grep服务器。属性


我错过了什么。我怎样才能杀死领导者并测试容错能力?

我刚刚意识到我做错了什么。为了找到最近启动的后台进程的pid(在本例中,是卡夫卡),我必须这样做:
echo$!
2942

为了杀死它,我必须这样做:
sudo kill$

我的群集确实是容错的。。。太棒了