Kat*_*man 6 apache-kafka docker openwhisk
设置细节:我在我当地的ubuntu(16.04)vm上设置openwhisk.在这个设置中,kafka在另一个docker中的一个docker和zookeeper中运行.
我使用cmd连接到kafka docker
sudo docker exec -it <container id> sh
Run Code Online (Sandbox Code Playgroud)
一旦连接,我执行以下命令来获取主题列表
bin/kafka-topics.sh --list --zookeeper localhost:2181
Run Code Online (Sandbox Code Playgroud)
这给了我一个例外
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
Run Code Online (Sandbox Code Playgroud)
我无法理解为什么要尝试使用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
Run Code Online (Sandbox Code Playgroud)
mar*_*mes 17
在卡夫卡容器OpenWhisk是使用集的JMX_PORT默认.那是你看到的7203端口.要使脚本正常工作,您需要取消设置该环境:
unset JMX_PORT; bin/kafka-topics.sh --list --zookeeper localhost:2181
Run Code Online (Sandbox Code Playgroud)
但请注意,这localhost不是zookeeper实例的有效地址,因为它引用当前容器的localhost,而不是Zookeeper.如果您localhost使用VM的外部IP或zookeeper容器的IP进行交换(通过它docker inspect zookeeper --format {{.NetworkSettings.Networks.bridge.IPAddress}}),您的主题应该被列为正常.
| 归档时间: |
|
| 查看次数: |
4043 次 |
| 最近记录: |