4.5. 运行多节点 Kafka 集群
这个步骤描述了如何将 Kafka 配置为多节点集群。
运行集群
对于 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 流”。
- 有关运行 ZooKeeper 集群的详情请参考 第 3.3 节 “运行多节点 ZooKeeper 集群”。
- 有关支持 Kafka 代理配置选项的完整列表,请参阅 附录 A, 代理配置参数。