设置 Apache Kafka 集群
Setting up Apache Kafka Cluster
我一直在尝试分布式流媒体平台 Apache Kafka,但我在 "distributed" 方面遇到了困难。
我正在使用示例 here,当所有内容都在同一台机器上时它工作正常。但我想 运行 将它作为一个具有 2 个或更多 VM 的集群
到目前为止我做了什么:
- 使用 Host-Only 适配器正确设置 VM。
通过将以下内容添加到 /etc/zookeeper/conf/zoo.fcg
来设置 Zookeeper 集群(Rajkumar Natarajan 指出的仲裁模式):
server.1=192.168.56.101:2888:3888
server.2=192.168.56.102:2888:3888
并确保 /var/lib/zookeeper
中的 myid
对于每台服务器都是唯一的。 运行 bin/zkServer.sh status
给出一个 Mode: leader
和 Mode: follower
其余的。
通过更改 config/server.properties
中的以下内容来设置 Kafka 集群:
broker.id=0 # 1 for the second server
zookeeper.connect=192.168.56.101:2181,192.168.56.102:2181
在 Python 中设置一个 sonsumer:
from kafka import KafkaConsumer
consumer = KafkaConsumer(
topic,
bootstrap_servers=['192.168.56.101:9092','192.168.56.102:9092'])
在Python中设置生产者:
from kafka import KafkaProducer
producer = KafkaProducer(bootstrap_servers='192.168.56.101:9092,192.168.56.102:9092')
我想做的事情:
以允许我 运行 不同 VM 上的 2 个或更多代理作为集群的方式配置我的 Kafka。
我的设置:
- 主机:Windows 10 (1803) 使用 VirtualBox 5.2.20
- 客人:Ubuntu 18.04,Kafka 2.0.0
我使用 vagrant box 设置了集群。
这有 3 台机器在法定模式下安装了 zookeeper。
里面有 3 个 kafka 代理,一台机器有 kafka 管理器,另一台机器有 kafka 注册表。
您所要做的就是下载并执行 vagrant up
。
https://github.com/rajcspsg/VBoxes/blob/master/kafka-platform-centos/Vagrantfile
也请提供您的意见。
我花了一些时间才找到解决方案,因为大多数教程都没有涉及集群部分,或者在一台机器上而不是几台机器上展示它:
所有需要做的就是将这一行添加到 config/server.properties
:
listeners=PLAINTEXT://192.168.56.101:9092 # for broker.id=0
listeners=PLAINTEXT://192.168.56.102:9092 # for broker.id=1
我一直在尝试分布式流媒体平台 Apache Kafka,但我在 "distributed" 方面遇到了困难。
我正在使用示例 here,当所有内容都在同一台机器上时它工作正常。但我想 运行 将它作为一个具有 2 个或更多 VM 的集群
到目前为止我做了什么:
- 使用 Host-Only 适配器正确设置 VM。
通过将以下内容添加到
/etc/zookeeper/conf/zoo.fcg
来设置 Zookeeper 集群(Rajkumar Natarajan 指出的仲裁模式):server.1=192.168.56.101:2888:3888 server.2=192.168.56.102:2888:3888
并确保
/var/lib/zookeeper
中的myid
对于每台服务器都是唯一的。 运行bin/zkServer.sh status
给出一个Mode: leader
和Mode: follower
其余的。通过更改
config/server.properties
中的以下内容来设置 Kafka 集群:broker.id=0 # 1 for the second server zookeeper.connect=192.168.56.101:2181,192.168.56.102:2181
在 Python 中设置一个 sonsumer:
from kafka import KafkaConsumer consumer = KafkaConsumer( topic, bootstrap_servers=['192.168.56.101:9092','192.168.56.102:9092'])
在Python中设置生产者:
from kafka import KafkaProducer producer = KafkaProducer(bootstrap_servers='192.168.56.101:9092,192.168.56.102:9092')
我想做的事情:
以允许我 运行 不同 VM 上的 2 个或更多代理作为集群的方式配置我的 Kafka。
我的设置:
- 主机:Windows 10 (1803) 使用 VirtualBox 5.2.20
- 客人:Ubuntu 18.04,Kafka 2.0.0
我使用 vagrant box 设置了集群。 这有 3 台机器在法定模式下安装了 zookeeper。 里面有 3 个 kafka 代理,一台机器有 kafka 管理器,另一台机器有 kafka 注册表。
您所要做的就是下载并执行 vagrant up
。
https://github.com/rajcspsg/VBoxes/blob/master/kafka-platform-centos/Vagrantfile
也请提供您的意见。
我花了一些时间才找到解决方案,因为大多数教程都没有涉及集群部分,或者在一台机器上而不是几台机器上展示它:
所有需要做的就是将这一行添加到 config/server.properties
:
listeners=PLAINTEXT://192.168.56.101:9092 # for broker.id=0
listeners=PLAINTEXT://192.168.56.102:9092 # for broker.id=1