我目前对所有这些工具都是新手,请您多多包涵。
我正在尝试创建一个数据管道来将 MySQL DB 的更改推送到 Kafka Broker。我正在松散地尝试按照此处的教程进行操作。如果所有 docker 容器(直接从 debezium repos 下载)都位于本地机器内,我可以让系统运行。
但是,如果我将 MySQL、Kafka 和 Zookeeper docker 放在本地网络上的另一台机器上并尝试连接它,我会收到以下错误:
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
两台机器可以通过所涉及的所有端口相互通信(Zookeeper 为 2181,Kafka 为 9092,MySQL 为 3306)。
我也尝试过提供属性名称
-e ADVERTISED_PORT=2181
并将主机属性修改为
-e ADVERTISED_HOST_NAME=192.168.31.214:2181
两者都没有帮助。
据我了解,有一些属性可以将单个链接绑定到机器上的端口,但我找不到所述属性。请让我知道我哪里出了问题。