Apache kafka 在卡夫卡启动多个经纪人

Apache kafka 在卡夫卡启动多个经纪人,apache-kafka,confluent-platform,Apache Kafka,Confluent Platform,kafka和confluent软件包的初学者。我想启动多个代理,以便使用该主题。 这可以通过此设置完成- {'bootstrap.server':'ip:your_host,…,} 此设置可以在服务器配置文件中定义,也可以在脚本中定义 但我该怎么办呢?。如果我只是向引导服务器添加多个端点,则会出现以下错误: java.lang.IllegalArgumentException:要求失败:每个侦听器必须具有不同的名称,侦听器:明文://:9092,明文://:9093 完成了。 事实上,我提到了生

kafka和confluent软件包的初学者。我想启动多个代理,以便使用该主题。 这可以通过此设置完成-
{'bootstrap.server':'ip:your_host,…,}

此设置可以在服务器配置文件中定义,也可以在脚本中定义

但我该怎么办呢?。如果我只是向引导服务器添加多个端点,则会出现以下错误:

java.lang.IllegalArgumentException:要求失败:每个侦听器必须具有不同的名称,侦听器:明文://:9092,明文://:9093

完成了。 事实上,我提到了生产商和消费者的同一个港口,因此才是问题所在。 在不同的端口上设置代理,即使一个代理失败,也可以正常工作

cp config/server.properties config/server-1.properties
cp config/server.properties config/server-2.properties
config/server-1.properties:

broker.id=1
listeners=PLAINTEXT://:9093
log.dirs=/tmp/kafka-logs-1
broker.id=2
listeners=PLAINTEXT://:9094
log.dirs=/tmp/kafka-logs-2
config/server-2.properties:

broker.id=1
listeners=PLAINTEXT://:9093
log.dirs=/tmp/kafka-logs-1
broker.id=2
listeners=PLAINTEXT://:9094
log.dirs=/tmp/kafka-logs-2

不能使用同一端口运行多个代理。。。这就是错误告诉你的。请看,我已经启动了多个经纪人。但默认磁头位于端口9092上。它将其保留为默认值,并且不使用9093端口上的代理。这很好,因为引导服务器从不需要每个代理。生产者数据的去向取决于Kafka消息的密钥顺便说一句,如果您使用的是
confluent start
,则只能启动一个代理。它不会使卡夫卡集群包含多个成员,即使运行两次,侦听器也始终位于端口9092上。ZooKeeper要求领导人选举的法定人数。这意味着2n+1个节点必须决定一个值,其中n是总的缩放值。在生产环境中,该值通常为5或7,因为如果只有3个,其中一个下降,则只剩下2个,无法进行仲裁。。。不过,7是限制,我已经看到数十到数百个卡夫卡服务器共享这么多的动物园管理员