如何将Kafka暴露在外部网络中对我来说仍然是个谜。我在google云虚拟机上使用“kafka-certified by-bitnami”部署了kafka,它运行kafka 2.3.0和zookeeper 3.5.5。我打开了端口上的防火墙 9092, 2181
(是的,我可以telnet它)和分配静态ip地址给我的机器。我的server.properties文件如下所示:
listeners=SASL_PLAINTEXT://:9092
advertised.listeners=SASL_PLAINTEXT://<static_ip>:9092
zookeeper.connect=localhost:9092
我尝试从python连接:
from kafka.admin import KafkaAdminClient
import logging
logging.basicConfig(level=logging.DEBUG)
admin_client = KafkaAdminClient(
bootstrap_servers="<static_ip>:9092",
client_id='test',
sasl_plain_username="bitnami_provided_user",
sasl_plain_password="bitnami_provided_password"
)
我得到的是这个错误: Closing connection. KafkaConnectionError: socket disconnected
.
我也变了 SASL_PLAINTEXT
至 PLAINTEXT
然后我得到 NoBrokersAvailable
错误。
我经历了这个线程无法连接到Kafka服务器在谷歌计算引擎从本地机器,并试图使相同的,但没有运气。把Kafka暴露给外部网络真的这么难吗?我只想从家里和我的本地电脑访问它。
暂无答案!
目前还没有任何答案,快来回答吧!