3.2. 运行多节点 Kafka 集群
配置并运行 Kafka 作为多节点集群。
先决条件
- AMQ Streams 安装 在所有要用作 Kafka 代理的主机上。
- 配置了 ZooKeeper 集群并正在运行。
在集群中运行
对于 AMQ Streams 集群中的每个 Kafka 代理:
编辑
/opt/kafka/config/server.propertiesKafka 配置文件,如下所示:-
将第一个代理的
broker.id字段设置为0,为第二个代理设置为1,以此类推。 -
在
zookeeper.connect选项中配置连接到 ZooKeeper 的详情。 - 配置 Kafka 侦听程序。
设置提交日志应当存储在
logs.dir目录中的目录。在这里,可以看到 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.propertiesCopy to Clipboard Copied! Toggle word wrap Toggle overflow 验证 Kafka 代理是否正在运行。
jcmd | grep Kafka
jcmd | grep KafkaCopy to Clipboard Copied! Toggle word wrap Toggle overflow 返回:
number kafka.Kafka /opt/kafka/config/server.properties
number kafka.Kafka /opt/kafka/config/server.propertiesCopy to Clipboard Copied! Toggle word wrap Toggle overflow 使用
ncat程序将dump命令发送到 ZooKeeper 节点之一,验证所有节点是否为 Kafka 集群的成员。使用 ncat dump 检查 ZooKeeper 中注册的所有 Kafka 代理
echo dump | ncat zoo1.my-domain.com 2181
echo dump | ncat zoo1.my-domain.com 2181Copy to Clipboard Copied! Toggle word wrap Toggle overflow 要使用四个字母字命令,如
dump,您需要在zookeeper.properties中指定4lw.commands.whitelist=*。输出必须包含您刚才配置和启动的所有 Kafka 代理。
带有 3 节点的 Kafka 集群的 ncat 命令的输出示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow