Apache kafka “测试”;故障转移“;论卡夫卡 设置1:

Apache kafka “测试”;故障转移“;论卡夫卡 设置1:,apache-kafka,apache-zookeeper,Apache Kafka,Apache Zookeeper,操作系统:Windows 10 动物园管理员 3ZooKeeper实例从Apache下载(使用v3.5.6和v.3.4.14进行测试): (1) apache-zookeeper-3.5.6-bin_1 (2) apache-zookeeper-3.5.6-bin_2(1的副本) (3) apache-zookeeper-3.5.6-bin_3(1的副本) dataDir中的myid文件,分别具有值1、2和3 卡夫卡 2Kafka实例: (1) 卡夫卡2.12-2.3.0 (2) 卡夫卡2.12

操作系统:Windows 10

动物园管理员 3
ZooKeeper
实例从
Apache
下载(使用
v3.5.6
v.3.4.14
进行测试):
(1) apache-zookeeper-3.5.6-bin_1
(2) apache-zookeeper-3.5.6-bin_2(1的副本)
(3) apache-zookeeper-3.5.6-bin_3(1的副本)

dataDir中的myid文件,分别具有值1、2和3

卡夫卡 2
Kafka
实例:
(1) 卡夫卡2.12-2.3.0 (2) 卡夫卡2.12-2.3.0(1的副本)

春天 弹簧靴启动器-*2.2.0.释放
spring-kafka-2.3.1.发布

=====================================================================

设立2个: 与设置1相同,唯一的区别是,我使用的不是从
Apache
下载的
ZooKeeper
,而是
Kafka
附带的
ZooKeeper

=====================================================================

问题 问题是,当我放下卡夫卡时:

=>设置1不会故障转移,这意味着当我生成消息时,启动的
Kafka
不会接收消息 =>设置2将故障转移,这意味着当我生成消息时,启动的
Kafka
将接收消息

你们看到设置1有什么问题吗


注:如果您需要更多详细信息,我很乐意提供。

以防对某人有所帮助:

我有2个《卡夫卡》实例,但对于任何创建的主题,我的《卡夫卡》复制因子是1(由于我对其含义的误解/误解)

这意味着,在创建主题时,主题将在Kafka-1或Kafka-2中创建,而不是同时在两者中创建。因此,当我尝试进行故障切换时,故障切换将失败,具体取决于我正在编写的主题以及关闭的
Kafka


简言之,如果您有X
Kafka
实例,topic
replication factor
需要是X(offset.topic.replication.factor也是如此)

Zookeeper似乎不是这里的问题,而是对Kafka的错误配置。。。您制作了多少主题的副本?有多少个分区?消费者补偿话题呢?谢谢@cricket_007,你说得对。要是我能多投一次票就好了!
zoo.cfg:
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/tmp/zookeeper_3.4.14_1
clientPort=2181
admin.serverPort=10081
server.1=localhost:2881:3881
server.2=localhost:2882:3882
server.3=localhost:2883:3883
4lw.commands.whitelist=*

zoo.cfg:
...
dataDir=/tmp/zookeeper_3.4.14_2
clientPort=2182
admin.serverPort=10082
...

zoo.cfg:
...
dataDir=/tmp/zookeeper_3.4.14_3
clientPort=2183
admin.serverPort=10083
...
server.properties:
...
broker.id=1
listeners=PLAINTEXT://:9091
log.dirs=/tmp/kafka-logs-1
zookeeper.connect=localhost:2181,localhost:2182,localhost:2183
...

server.properties:
...
broker.id=2
listeners=PLAINTEXT://:9092
log.dirs=/tmp/kafka-logs-2
zookeeper.connect=localhost:2181,localhost:2182,localhost:2183
...