cdh6.2 应用程序(python,java,go) comsumer消费kafka 使用ip:9092连接,总是去访问主机名,反过来解析不到ip
解决办法1:
把kafka broker hosts信息配置到应用端hosts
解决办法2:
去zk中获取kafka ids相关信息:
zookeeper-client
ls /brokers/ids
get /brokers/ids/104
结果显示,zk中是去解析hostsname的,以上不同版本的kafka可能路径不一样,酌情调整查询
在cdh cm界面进入kafka配置页面
搜索kafka.properties配置
点击右上角角色组,将原来Kafka Broker Default Group(所有kafka broker都在这个组)
拆分成一个broker一个group
返回kafka.properties配置页面
每个组按照/etc/hosts文件里的ip hostsname对应关系分别配置
host.name=x.x.x.x
listeners=PLAINTEXT://x.x.x.x:9092
advertised.listeners=PLAINTEXT://x.x.x.x:9092
比如其中一个broker, hostsname:xxx1,配置在kafka角色组:xxxgroup1,ip:x.x.x.1则在kafka.properties中xxxgroup1配置
host.name=x.x.x.1
listeners=PLAINTEXT://x.x.x.1:9092
advertised.listeners=PLAINTEXT://x.x.x.1:9092