kafka在一台机器上模拟集群,为什么关闭一个broker,整体集群就不能消费了,求大神解答

kafka在一台机器上模拟集群,为什么关闭一个broker,整体集群就不能消费了。消费就一直卡主等待的状况。

环境:
1.一台机器运行了一个zookeeper,启动文件是在kafka/bin/zookeeper-server-start.sh
2.分别把kafka文件件复制了四份,改变里面server.properties中borker.id分别为1,2,3,4
3.启动机器,正常可以消费topic是cxl的
4.关闭borker.id是1的kafka服务,就没有办法消费cxl
topic的信息
图片说明

现在就不太明白正常集群挂掉一个,整体集群应该是不受影响的,从topic信息上看我的分片也在borker 2上,而我关掉的是broker1应该没有什么影响,但是现在为什么不能消费了?

虽然topic的副本数是2,但是 partition的数量为1,所以导致这个topic只会在一个broker(leader partition)中存储数据。
出现上诉情况的原因,可以是在leader partition中存储数据的时候,其他follower partition还未来得及从leader partition中拉取数据,
leader partition所在的broker就挂掉了。从而导致follower partition没有同步到所有数据,此时因为leader partition所在的broker挂掉了,
在ISR中的follower partition会被选举为leader partition,此时的leader partition的数据是缺失的。

你怎么能部署4个broker,kafka集群不是奇数的吗?