Kafka Multi broker setup with ec2 machine:等待节点分配超时。调用:createTopics
Kafka Multi broker setup with ec2 machine: Timed out waiting for a node assignment. Call: createTopics
我正在尝试在 AWS EC2 实例中使用 3 个代理节点和 1 个动物园管理员节点设置 kafka。对于每个经纪人,我都有以下 server.properties:
kafka-1:
broker.id=0
listeners=PLAINTEXT_1://ec2-**-***-**-17.eu-central-1.compute.amazonaws.com:9092
advertised.listeners=PLAINTEXT_1://ec2-**-***-**-17.eu-central-1.compute.amazonaws.com:9092
listener.security.protocol.map=,PLAINTEXT_1:PLAINTEXT
inter.broker.listener.name=PLAINTEXT_1
zookeeper.connect=ec2-**-***-**-105.eu-central-1.compute.amazonaws.com:2181
kafka-2:
broker.id=1
listeners=PLAINTEXT_2://ec2-**-***-**-43.eu-central-1.compute.amazonaws.com:9093
advertised.listeners=PLAINTEXT_2://ec2-**-***-**-43.eu-central-1.compute.amazonaws.com:9093
listener.security.protocol.map=,PLAINTEXT_2:PLAINTEXT
inter.broker.listener.name=PLAINTEXT_2
zookeeper.connect=ec2-**-***-**-105.eu-central-1.compute.amazonaws.com:2181
kafka-3:
broker.id=2
listeners=PLAINTEXT_3://ec2-**-***-**-27.eu-central-1.compute.amazonaws.com:9094
advertised.listeners=PLAINTEXT_3://ec2-**-***-**-27.eu-central-1.compute.amazonaws.com:9094
listener.security.protocol.map=,PLAINTEXT_3:PLAINTEXT
inter.broker.listener.name=PLAINTEXT_3
zookeeper.connect=ec2-**-***-**-105.eu-central-1.compute.amazonaws.com:2181
动物园管理员:
tickTime=2000
dataDir=/var/lib/zookeeper
clientPort=2181
当我 运行 在 zookeeper 中执行命令时,我看到它们已连接
我还通过代理端口从任何代理远程登录到其他代理,它们都已连接
但是,当我尝试创建具有 2 个复制因子的主题时,我得到 等待节点分配超时
我无法理解我的设置有什么问题,我在 zookeeper 中看到 3 个节点 运行,但在创建主题时遇到问题。顺便说一句,当我制作复制因子 1 时,我得到了同样的错误。我怎样才能确保我的集群一切正常?
telnet 检查端口是否打开很好,但它不会验证 Kafka 协议是否正常工作。您可以为此使用 kcat
实用程序,但修复包括
每个代理的 listeners
设置为 PLAINTEXT://:9092
或 PLAINTEXT://0.0.0.0:9092
,这意味着使用相同的端口
- 从侦听器映射和通告的侦听器中删除号码属性,以便每个经纪人都相同
我还建议考虑使用 Ansible/Terraform/Cloudformation 以确保您始终如一地修改集群,而不是手动编辑个别设置
我正在尝试在 AWS EC2 实例中使用 3 个代理节点和 1 个动物园管理员节点设置 kafka。对于每个经纪人,我都有以下 server.properties:
kafka-1:
broker.id=0
listeners=PLAINTEXT_1://ec2-**-***-**-17.eu-central-1.compute.amazonaws.com:9092
advertised.listeners=PLAINTEXT_1://ec2-**-***-**-17.eu-central-1.compute.amazonaws.com:9092
listener.security.protocol.map=,PLAINTEXT_1:PLAINTEXT
inter.broker.listener.name=PLAINTEXT_1
zookeeper.connect=ec2-**-***-**-105.eu-central-1.compute.amazonaws.com:2181
kafka-2:
broker.id=1
listeners=PLAINTEXT_2://ec2-**-***-**-43.eu-central-1.compute.amazonaws.com:9093
advertised.listeners=PLAINTEXT_2://ec2-**-***-**-43.eu-central-1.compute.amazonaws.com:9093
listener.security.protocol.map=,PLAINTEXT_2:PLAINTEXT
inter.broker.listener.name=PLAINTEXT_2
zookeeper.connect=ec2-**-***-**-105.eu-central-1.compute.amazonaws.com:2181
kafka-3:
broker.id=2
listeners=PLAINTEXT_3://ec2-**-***-**-27.eu-central-1.compute.amazonaws.com:9094
advertised.listeners=PLAINTEXT_3://ec2-**-***-**-27.eu-central-1.compute.amazonaws.com:9094
listener.security.protocol.map=,PLAINTEXT_3:PLAINTEXT
inter.broker.listener.name=PLAINTEXT_3
zookeeper.connect=ec2-**-***-**-105.eu-central-1.compute.amazonaws.com:2181
动物园管理员:
tickTime=2000
dataDir=/var/lib/zookeeper
clientPort=2181
当我 运行 在 zookeeper 中执行命令时,我看到它们已连接
我还通过代理端口从任何代理远程登录到其他代理,它们都已连接
但是,当我尝试创建具有 2 个复制因子的主题时,我得到 等待节点分配超时
我无法理解我的设置有什么问题,我在 zookeeper 中看到 3 个节点 运行,但在创建主题时遇到问题。顺便说一句,当我制作复制因子 1 时,我得到了同样的错误。我怎样才能确保我的集群一切正常?
telnet 检查端口是否打开很好,但它不会验证 Kafka 协议是否正常工作。您可以为此使用 kcat
实用程序,但修复包括
-
每个代理的
listeners
设置为PLAINTEXT://:9092
或PLAINTEXT://0.0.0.0:9092
,这意味着使用相同的端口- 从侦听器映射和通告的侦听器中删除号码属性,以便每个经纪人都相同
我还建议考虑使用 Ansible/Terraform/Cloudformation 以确保您始终如一地修改集群,而不是手动编辑个别设置