4.5. 运行多节点 Kafka 集群
这个步骤描述了如何配置和运行 Kafka 作为多节点集群。
先决条件
- AMQ Streams 安装在 将用作 Kafka 代理的所有主机上。
- 配置了 ZooKeeper 集群并运行。
运行集群
对于 AMQ Streams 集群中的每个 Kafka 代理:
编辑
/opt/kafka/config/server.properties
Kafka 配置文件,如下所示:-
在第一个代理中,将
broker.id
设置为0
,在第二个代理中,将其设置为1
,以此类推。 -
在
zookeeper.connect
选项中配置连接到 ZooKeeper 的详情。 - 配置 Kafka 侦听程序。
设置提交日志应存储在
logs.dir
目录中的目录。在这里,我们看到 Kafka 代理的示例配置:
broker.id=0 zookeeper.connect=zoo1.my-domain.com:2181,zoo2.my-domain.com:2181,zoo3.my-domain.com:2181 listeners=REPLICATION://:9091,PLAINTEXT://:9092 inter.broker.listener.name=REPLICATION log.dirs=/var/lib/kafka
broker.id=0 zookeeper.connect=zoo1.my-domain.com:2181,zoo2.my-domain.com:2181,zoo3.my-domain.com:2181 listeners=REPLICATION://:9091,PLAINTEXT://:9092 inter.broker.listener.name=REPLICATION log.dirs=/var/lib/kafka
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在典型的安装中,每个 Kafka 代理在相同的硬件上运行,只有
broker.id
配置属性在每个代理配置间有所不同。
-
在第一个代理中,将
使用默认配置文件启动 Kafka 代理。
su - kafka /opt/kafka/bin/kafka-server-start.sh -daemon /opt/kafka/config/server.properties
su - kafka /opt/kafka/bin/kafka-server-start.sh -daemon /opt/kafka/config/server.properties
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 验证 Kafka 代理是否正在运行。
jcmd | grep Kafka
jcmd | grep Kafka
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
验证代理
当集群的所有节点都启动并运行后,使用 ncat
实用程序向其中一个 ZooKeeper 节点发送 dump
命令来验证所有节点是否为 Kafka 集群的成员。该命令打印 ZooKeeper 中注册的所有 Kafka 代理。
使用 ncat stat 检查节点状态。
echo dump | ncat zoo1.my-domain.com 2181
echo dump | ncat zoo1.my-domain.com 2181
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出应包含您刚才配置和启动的所有 Kafka 代理。
带有 3 个节点的 Kafka 集群的
ncat
命令的输出示例:Copy to Clipboard Copied! Toggle word wrap Toggle overflow
其他资源
- 有关安装 AMQ Streams 的详情,请参考 第 2.3 节 “安装 AMQ Streams”。
- 有关配置 AMQ Streams 的详情,请参考 第 2.8 节 “配置 AMQ Streams”。
- 有关运行 ZooKeeper 集群的更多信息,请参阅 第 3.3 节 “运行多节点 ZooKeeper 集群”。
- 有关支持的 Kafka 代理配置选项的完整列表,请参阅 附录 A, 代理配置参数。