安装细节:我正在本地的ubuntu(16.04)vm上安装openwhisk。在这个设置中,Kafka在一个docker中运行,zookeeper在另一个docker中运行。
我连接到Kafka码头使用命令
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条答案
按热度按时间rqenqsqc1#
kafka容器openwhisk正在使用
JMX_PORT
默认情况下。你看到的是7203端口。要使脚本正常工作,需要取消设置该环境设置:但请注意
localhost
不是zookeeper示例的有效地址,因为它引用的是当前容器的localhost,而不是zookeeper。如果你交换localhost
使用vm的外部ip或zookeeper容器的ip(通过docker inspect zookeeper --format {{.NetworkSettings.Networks.bridge.IPAddress}}
)你的主题应该列得很好。