gpt4 book ai didi

docker - 如何修复 Kafka Docker 容器抛出 0.0.0.0/0.0.0.0 :2181: Connection refused?

转载 作者:行者123 更新时间:2023-12-04 12:09:41 30 4
gpt4 key购买 nike

我正在尝试为 Kafka 更改数据捕获设置 Docker 撰写文件环境,但遇到此错误:

Opening socket connection to server 0.0.0.0/0.0.0.0:2181. Will not attempt to authenticate using SASL (unknown error)

Socket error occurred: 0.0.0.0/0.0.0.0:2181: Connection refused


我一直在关注本教程 https://hevodata.com/learn/kafka-cdc-postgres/ ,但它使用链接选项直接运行 docker 命令,而不是使用 docker-compose.yml 文件。
我试图转换这些:
docker run -it --name kafka -p 9092:9092 --link zookeeper:zookeeper debezium/kafka
到下面的 docker-compose.yml 文件。但是,它似乎完全忽略了 KAFKA_ZOOKEEPER_CONNECT 环境变量,因为这是我在日志中看到的:

Using ZOOKEEPER_CONNECT=0.0.0.0:2181


尽管如此,文档 https://github.com/debezium/docker-images/tree/master/kafka/1.5表示它应该工作。
当我使用 docker run 遵循教程而不创建 docker-compose 文件时,它完全正常。它使用端口 2181 而不是 0.0.0.0:2181 显示我本地计算机的 IP 地址。
docker-compose.yml:
version: "3.7"

services:
postgres:
image: debezium/postgres:10
container_name: postgres
ports:
- "5000:5432"
environment:
POSTGRES_HOST_AUTH_METHOD: trust
# POSTGRES_USER: db_user
# POSTGRES_PASSWORD: db_password
zookeeper:
image: debezium/zookeeper:1.5
container_name: zookeeper
ports:
- "2181:2181"
- "2888:2888"
- "3888:3888"
kafka:
image: debezium/kafka:1.5
container_name: kafka
ports:
- "9092:9092"
depends_on:
- zookeeper
environment:
KAFKA_ADVERTISED_HOST_NAME: kafka
KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
connect:
image: debezium/connect:1.5
container_name: connect
ports:
- "8083:8083"
environment:
GROUP_ID: 1
CONFIG_STORAGE_TOPIC: my-connect-configs
OFFSET_STORAGE_TOPIC: my-connect-offsets
depends_on:
- postgres
- kafka
- zookeeper

networks:
default:
name: kafkaCDC
Zookeeper 容器上的 zoo.cfg:
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/zookeeper/data
dataLogDir=/zookeeper/txns
clientPort=2181
autopurge.snapRetainCount=3
autopurge.purgeInterval=1
一直在关注这个问题;然而,我完全迷路了。特别是,因为有很多示例都在使用链接。
这是让我想到使用 KAFKA_ZOOKEEPER_CONNECT 的 GitHub 帖子。
https://github.com/wurstmeister/kafka-docker/issues/512#issuecomment-505905161
除了我觉得 https://github.com/debezium/docker-images/blob/master/kafka/1.5/docker-entrypoint.sh 有问题这忽略了环境变量,但可能只是我不理解某些内容并且出现了 conf 错误。

最佳答案

对于 debezium/kafka:1.5图像在 docker compose 中工作,您可以尝试传递以下环境变量:ZOOKEEPER_CONNECT: "zookeeper:2181"它解决了我的问题,示例 docker compose yaml 如下:

version: "3.9"
services:
zookeeper:
image: debezium/zookeeper:1.5
ports:
- "2181:2181"
- "2888:2888"
kafka:
image: debezium/kafka:1.5
ports:
- "9092:9092"
environment:
ZOOKEEPER_CONNECT: "zookeeper:2181"
depends_on:
- zookeeper

关于docker - 如何修复 Kafka Docker 容器抛出 0.0.0.0/0.0.0.0 :2181: Connection refused?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66085615/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com