无法在openwhisk设置中列出kafka主题

时间:2017-05-17 05:57:23

标签: docker apache-kafka openwhisk

设置详情: 我正在我当地的ubuntu(16.04)vm上设置openwhisk。在这个设置中,kafka在另一个docker中的一个docker和zookeeper中运行。

我使用cmd连接到kafka docker

sudo docker exec -it <container id> sh

连接后,我执行以下命令获取主题列表

bin/kafka-topics.sh --list --zookeeper localhost:2181

给了我一个例外

Error: Exception thrown by the agent : java.rmi.server.ExportException: Port already in use: 7203; nested exception is:
        java.net.BindException: Address already in use

我无法理解为什么要尝试使用7203端口?

docker ps输出

83eba3961247        ches/kafka:0.10.0.1              "/start.sh"              
11 days ago         Up 23 hours         7203/tcp, 0.0.0.0:9092->9092/tcp                                                                                                                       
kafka
947fa689a7ef        zookeeper:3.4                    "/docker-
entrypoin..."   11 days ago         Up 23 hours         2888/tcp, 
0.0.0.0:2181->2181/tcp, 3888/tcp                                                                                                             zookeeper

1 个答案:

答案 0 :(得分:10)

Kafka container OpenWhisk is using默认设置JMX_PORT。这就是你所看到的7203端口。要使脚本正常工作,您需要取消设置该环境设置:

unset JMX_PORT; bin/kafka-topics.sh --list --zookeeper localhost:2181

但请注意,localhost不是zookeeper实例的有效地址,因为它引用当前容器的localhost,而不是Zookeeper。如果您将localhost与VM的外部IP或zookeeper容器的IP交换(通过docker inspect zookeeper --format {{.NetworkSettings.Networks.bridge.IPAddress}}获取),则应该列出您的主题。