В настоящее время я плохо знаком со всеми этими инструментами и прошу вас проявить ко мне терпение.
Я пытаюсь создать конвейер данных, чтобы передать изменения базы данных MySQL брокеру Kafka. Я пытаюсь следовать руководству, которое здесь. Если все контейнеры докеров (загруженные непосредственно из репозиториев debezium) находятся внутри локального компьютера, я могу запустить систему.
Однако, если я помещаю докеры MySQL, Kafka и Zookeeper на другой компьютер в моей локальной сети и пытаюсь подключить его, я получаю следующую ошибку:
docker: Error response from daemon: could not get container for zookeeper: No such container: zookeeper.
Ниже приводится команда, которую я использую для этого:
sudo docker run -it --rm --name connect \
-p 8083:8083 \
-e GROUP_ID=1 \
-e CONFIG_STORAGE_TOPIC=my_connect_configs \
-e OFFSET_STORAGE_TOPIC=my_connect_offsets \
-e ADVERTISED_HOST_NAME=192.168.31.214 \
-e ADVERTISED_PORT=2181 \
--link zookeeper:zookeeper \
--link kafka:kafka \
--link mysql:mysql \
debezium/connect:0.8
Две машины могут связываться друг с другом через все задействованные порты (2181 для Zookeeper, 9092 для Kafka и 3306 для MySQL).
Я также попытался указать имя свойства
-e ADVERTISED_PORT=2181
и изменение свойства хоста на
-e ADVERTISED_HOST_NAME=192.168.31.214:2181
и то, и другое не помогло.
Насколько я понимаю, есть свойство для привязки отдельных ссылок к портам на машине, но я не могу найти указанное свойство. Пожалуйста, дайте мне знать, где я ошибаюсь.