Landoop / fast-data-dev:无法建立到节点-1的连接

时间:2018-10-27 20:12:00

标签: docker apache-kafka apache-zookeeper

我正在尝试将kafka与docker image int *一起使用 我运行了以下命令

我启动了Docker容器

p

然后我启动了bash命令

&x

然后我创建了一个主题

Landoop/fast-data-dev

然后我尝试将数据发送到主题

docker run --rm -it -p 2183:2181  -p 3030:3030 -p 8081:8081 -p 8082:8082  -p 8083:8083 -p 9093:9092 -e ADV_HOST=127.0.0.1 landoop/fast-data-dev

但是我收到以下错误

[2018-10-27 20:08:24,655]警告[生产者clientId =控制台生产者]无法建立到节点-1的连接。经纪人可能不可用。 (org.apache.kafka.clients.NetworkClient)

ps:由于“端口已分配”问题,我将kafka和zookeeper的映射更改为9093和2183

1 个答案:

答案 0 :(得分:0)

您正在容器中运行CLI命令 ,因此您不能只是在主机上重新映射端口。在这种情况下,实际上,您实际上还需要使用totalKeysExamined变量在运行Kafka的容器内设置端口。

BROKER_PORT

否则,即使外部端口为9093,您仍然必须在容器内使用docker run --rm -it -p 2183:2181 -p 3030:3030 -p 8081:8081 -p 8082:8082 -p 8083:8083 -p 9093:9093 -e ADV_HOST=127.0.0.1 -e BROKER_PORT=9093 landoop/fast-data-dev,但是如果您要启动,则无论如何您都无需添加localhost:9092标志来向外部公开端口bash在容器内做事。

如果您想在容器外部使用应用程序 ,请参阅this blog,该应用程序使用Confluent容器,但是适用相同的概念,尽管landoop变量不同