【发布时间】:2017-08-22 23:45:15
【问题描述】:
我已将 Kafka 支持集成到我们的服务器中并对其进行了测试。它在我的开发人员环境中运行良好,但其他开发人员无法在他们的开发人员环境中运行。这个问题与我在自己的开发人员环境中遇到的问题类似,但我不明白为什么它在我的机器上运行,而不是在他们的机器上运行。
基本上,我们在 docker-compose 堆栈中运行 Kafka。在两种环境中docker-compose ps 显示相同的配置正在运行。
$ docker-compose ps
Name Command State Ports
----------------------------------------------------------------------------------------------------------------------------
localdockerdevelop_kafka-1_1 start-kafka.sh Up 0.0.0.0:9092->9092/tcp
localdockerdevelop_kafka-2_1 start-kafka.sh Up 0.0.0.0:9093->9092/tcp
localdockerdevelop_kafka-3_1 start-kafka.sh Up 0.0.0.0:9094->9092/tcp
localdockerdevelop_mysql_1 docker-entrypoint.sh mysqld Up 0.0.0.0:3306->3306/tcp
localdockerdevelop_redis_1 docker-entrypoint.sh redis ... Up 0.0.0.0:6379->6379/tcp
localdockerdevelop_zookeeper_1 /bin/sh -c /usr/sbin/sshd ... Up 0.0.0.0:2181->2181/tcp, 22/tcp, 2888/tcp, 3888/tcp
在这两种环境中,如果您 telnet 127.0.0.1 9092 您连接到 Kafka 代理。但是,在他们的环境中,当 Kafka Admin 客户端尝试连接到 bootstrap.servers= "127.0.0.1:9092,127.0.0.1:9093,127.0.0.1:9094" 时,它会超时,但对于我的环境,它会立即连接。我们都从 Git 中的 develop 分支运行,所以我们应该运行相同的环境。
另一个测试:我的机器上运行着我的 docker-compose 堆栈,当我运行我们的服务器时,它连接正常。当我的同事将他的 bootstrap.servers 配置为使用我的 IP 地址时,他看到了同样的问题,即使他可以远程登录到我机器上的代理。
任何人都可以提出任何其他诊断提示和技巧来找出 Kafka Admin Client 无法连接到代理的原因吗?
【问题讨论】:
标签: docker apache-kafka docker-compose