如何将本地机器与Docker Container连接?

时间:2017-03-30 23:21:29

标签: apache-spark docker streaming apache-kafka

我正在尝试在我的本地计算机(Windows 10)上使用kafka作为生产者,并在docker容器(ubuntu)上作为消费者使用火花流。我的示例在容器中一起工作,但我需要在本地计算机上创建流。

我在主机(本地计算机)的2181端口运行zookeeper,在9092运行kafka服务器。

我在9092创建一个代理来创建流(本地计算机)

producer = KafkaProducer(bootstrap_servers='localhost:9092') while True: message='Hola' producer.send(1,'test', message) time.sleep(1)

在容器的另一边,我正在听2181端口接收流。

ssc = StreamingContext(sc, 5)

kvs = KafkaUtils.createStream(ssc, "127.0.0.1:2181", "spark-streaming-consumer", {'test': 1})

问题是我不知道如何链接两者(Windows Kafka和Ubuntu)

我希望你能帮助我。 感谢。

1 个答案:

答案 0 :(得分:0)

启动docker容器时,将端口8080暴露给8080和7077到7077,这可以通过在 docker run 命令中提供-p 8080:8080 -p 7070:7070来完成。

然后在kafka中,您可以使用localhost或127.0.0.1配置