如何设置汇合泊坞窗外部访问,基于汇合泊坞窗快速入门

以下是基于此快速入门指南: http : //docs.confluent.io/current/cp-docker-images/docs/quickstart.html

在那里,他们在自己的docker集装箱上展示了各种卡夫卡/汇合组件,

–net =主机

标志并通过访问

本地主机:端口

无论我做什么,我都无法从Ubuntu服务器本身以外的地方访问它,无论是通过IP还是域,它们都应该工作,比如控制中心。 但在同一台主机上,我的Ubuntu的盒子,一切工作正常。

任何想法可能在这里的问题? 已经停留了几个小时了

是不是无法访问端口的问题(即telnet不可能),或者你不能使服务器工作(即没有请求被服务器回答)?

-e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://localhost:29092 \ ,这是地址kafka经纪人沟通的客户端通信(除了本地主机,这显然不会工作…)后初始connexion。 您可以用您的服务器的IPreplacelocalhost ,它应该正常工作。

更具体地说, listenersconfiguration(默认为0.0.0.0:9092)和advertised.listeners (默认PLAINTEXT:// locahost:9092)客户端通过listener绑定初始化(bootstrap-server或broker-list)连接。 一旦这个初始连接完成,代理将从群集中的所有代理返回所有advertised.listener,这是以后的交换所使用的)

从github回购,confluent分配给监听的广告监听的价值,改变主机为0.0.0.0(所以它可以从远程访问肯定)你不能设置0.0.0.0 advertised.listeners虽然,它必须是一个独特的可达的界面

现在回答我自己,一个愚蠢的简单的防火墙/docker工具:

使用UFW(防火墙)和docker时要小心

http://blog.viktorpetersson.com/post/101707677489/the-dangers-of-ufw-docker

我在端口3000上使用了一个简单的nodeJS hello world示例,只要我使用默认/桥接networking并发布端口(-p 3000:3000),就可以从外部连接到它。

使用主机networking,我根本无法连接。

在这两种情况下,防火墙(Ubuntu的UFW)没有明确允许端口3000,所以Docker必须在这里重写iptables,而不用UFW注意到允许桥接和发布的端口通过。

=>通过在UFW中明确打开kafka端口来解决