如何使用Kafka从/到Docker生成/消费数据?



我看到了很多问题和话题,但它们都与docker-compose和kafka容器的创建有关。但是我有一个1 namenode和3 datanode容器系统。我有两个与docker container相关的端口,一个是8088,一个是50070。我想使用kafka从我的本地到docker发送数据。但对我来说,我需要使用8088或50070发送数据。但我不知道该怎么做。我编辑

听众= SASL_PLAINTEXT://0.0.0.0:8088明文://0.0.0.0:9092advertised.listeners = SASL_PLAINTEXT://localhost: 8088,明文://localhost: 9092security.inter.broker.protocol = SASL_PLAINTEXT

在服务器。属性,但它不起作用。我正在尝试这样做:我在Docker中创建了一个名为test的主题。我在Docker终端上给它发了一些数据。在本地,我尝试使用——bootstrap-server localhost:8088来使用来自主题的数据,但它给出了错误。谢谢你。

有一个1 namenode和3 datanode的容器系统

这些不是Kafka服务,Docker与这个问题无关。

如果你想发送数据到Hadoop你需要使用Kafka Connect,或者从Python你可以使用Spark, Flink等。

如果所有的服务都在容器中运行,那么Compose或你的主机也不是完全相关的。

你会使用桥接网络- https://docs.docker.com/network/bridge/

我需要使用8088或50070发送数据。

端口不重要,但你真的应该考虑将Kafka端口保留为默认值。

但是您必须从主机转发侦听器端口,正确地是-p 8088:8088,并且您必须在与--bootstrap-server localhost:8088一起使用的任何命令中设置必要的SASL属性,这应该在主机和容器中的中工作。(这是您应该首先调试问题的地方)

最新更新