Невозможно перечислить темы кафки в настройке openwhisk

Подробности настройки: я настраиваю openwhisk на своем локальном Ubuntu(16.04) vm. в этой настройке кафка работает в одном докере, а zookeeper в другом докере.

Я подключаюсь к докеру kafka используя cmd

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 ответ

Решение

Контейнер Kafka OpenWhisk использует наборы JMX_PORT по умолчанию. Это порт 7203, который вы видите. Чтобы ваш скрипт заработал, вам нужно сбросить настройки среды:

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

Обратите внимание, что localhost не является действительным адресом для вашего экземпляра zookeeper, поскольку он ссылается на локальный хост текущего контейнера, который не является Zookeeper. Если вы обменяете localhost с внешним IP-адресом вашей виртуальной машины или IP-адресом контейнера zookeeper (получите его через docker inspect zookeeper --format {{.NetworkSettings.Networks.bridge.IPAddress}}) ваши темы должны быть перечислены в порядке.

Другие вопросы по тегам