Невозможно перечислить темы кафки в настройке 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}}
) ваши темы должны быть перечислены в порядке.