我正在尝试在主机上设置Kafka / Docker安装程序,并从网络设备连接到它。我正在使用bitnami / kafka。这是我的docker-compose文件:
version: '2'
services:
zookeeper:
image: 'bitnami/zookeeper:3'
ports:
- '2181:2181'
volumes:
- 'zookeeper_data:/bitnami'
environment:
- ALLOW_ANONYMOUS_LOGIN=yes
kafka:
image: 'bitnami/kafka:2'
ports:
- '9092:9092'
- '29092:29092'
volumes:
- 'kafka_data:/bitnami'
environment:
- KAFKA_CFG_ZOOKEEPER_CONNECT=zookeeper:2181
- ALLOW_PLAINTEXT_LISTENER=yes
- KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAP=PLAINTEXT:PLAINTEXT,PLAINTEXT_HOST:PLAINTEXT
- KAFKA_CFG_LISTENERS=PLAINTEXT://:9092,PLAINTEXT_HOST://:29092
- KAFKA_CFG_ADVERTISED_LISTENERS=PLAINTEXT://kafka:9092,PLAINTEXT_HOST://localhost:29092
depends_on:
- zookeeper
volumes:
zookeeper_data:
driver: local
kafka_data:
driver: local
[当我在主机上运行python脚本时(不在docker中),并且汞是主机的名称,就可以了:]
from kafka import KafkaProducer producer = KafkaProducer(bootstrap_servers=['mercury:29092']) print("Connected") producer.send('topic', b'It works!') print('Theoretically send') producer.close() print('Closed')
[当我尝试从另一个网络设备运行相同的脚本时,它不起作用。我什至没有出错。该脚本也可以正常运行,因此在尝试连接或发送时没有延迟。只有当我f.e.使用错误的端口或不存在的主题。特别是最后一部分,让我相信脚本可以连接但不能正确发送消息。我不确定为什么会这样。我的端口设置正确还是我需要一些额外的kafka环境设置?
感谢您的帮助
我正在尝试在主机上设置Kafka / Docker安装程序,并从网络设备连接到它。我正在使用bitnami / kafka。这是我的docker-compose文件:版本:'2'服务:zookeeper:...
问题在于Kafka宣传的侦听器的配置。