基于CDH6..3.2在云上搭建了一套大数据的环境,在内网可以正常访问Kafka集群,但是在window开发环境下无法访问(因为无法访问9092端口,cdh 的kafka默认启动在内网ip上 不是通配符 ,无法生产和消费数据),通过尝试最终解决问题,如下记录
修改kafka.properties在kafka.properties中添加下面两行,node01是Kafka节点IP。
在CDH环境下,kafka.properties是动态生成的,直接修改配置文件没用,需要在CDH的管理界面修改配置,步骤如下所示
listeners=PLAINTEXT://0.0.0.0:9092, advertised.listeners=PLAINTEXT://node01:9092 无Kerberos的情况下是这个 listeners=SASL_PLAINTEXT://0.0.0.0:9092 advertised.listeners=SASL_PLAINTEXT://node01:9092 有Kerberos的情况下是这个 还有一个未测试的方案,另外启动一个没有Kerberos的端口 listeners=SASL_PLAINTEXT://0.0.0.0:9092,PLAINTEXT://0.0.0.0:9095 advertised.listeners=SASL_PLAINTEXT://node01:9092,PLAINTEXT://node01:9095 9092端口走kerberos认证,9095端口不用认证直接暴露访问。 实测CDH5.12中。不需要加逗号。 delete.topic.enable=true listeners=PLAINTEXT://0.0.0.0:9092 advertised.listeners=PLAINTEXT://外网ip:外网端口
1、打开CDH管理界面,点击Kafka进入Kafka *** 作详情页面
2、然后点击实例,可以看到有五个broker节点
3、点击其中的一个broker
4、然后点击配置
5、然后搜索高级,在kafka.properties中加入上面所说的两行代码
Kafka集群节点有十几、几十、甚至上百个节点怎么整,一个一个修改么?
其实第二步不用点击实例,直接点击配置(这里是全局配置),在那里修改可以覆盖所有节点的配置。
6、重复上面步骤,修改所有节点,记得修改IP(我这里做了映射,所以是主机名)
7、重启Kafka服务
8、在Kafka节点执行如下命令,可以看到9092端口的监听地址从原来的本机IP变成了两个冒号(:::9092)或者是四个0(0.0.0.0:9092),这个都代表所有IP地址,一个是IP V6地址,一个是IP V4形式的
[root@sutong01 ~]# netstat -anp | grep 9092 tcp6 0 0 192.168.18.110:9092 :::* LISTEN 17189/java tcp6 0 0 192.168.18.110:55576 192.168.18.160:9092 ESTABLISHED 17189/java [root@sutong01 ~]# netstat -anp | grep 9092 tcp6 0 0 :::9092 :::* LISTEN 17189/java tcp6 0 0 192.168.18.110:55576 192.168.18.160:9092 ESTABLISHED 17189/java
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)