kafka的listeners

kafka的listeners

   运维菜鸟     2021年7月30日 19:05     121    

kafka中有两个关于监听的参数

listeners=PLAINTEXT://:9092

#advertised.listeners=PLAINTEXT://kafka-single:9092

默认的listeners这个参数是没有地址,此参数是kafkabind的地址。

默认的advertised.listeners这个参数是注释掉的,此参数是从zookeeper中进行注册的地址。

 

1)两个参数都不进行配置

如果这两个参数都不进行配置,那么在zookeeper中进行注册的话,是通过本机的主机名进行注册。

如果在/etc/hosts中进行了配置,会将/etc/hosts中配置的名称,发布到zookeeper中。

1.png 

在注释中也写到通过此方法java.net.InetAddress.getCanonicalHostName()获取主机名。

 

2)只配置listeners参数

如果listeners这个设置了,而advertised.listeners没有设置。

那么advertised.listeners中的值会从listeners中去获取。

listeners这个参数可以配置地址也可以配置域名。

配置IP

这里如果配置的ip的话,那么在zookeeper中注册的就是IP地址。

此参数可以配置ip或者0.0.0.0但是advertised.listeners参数是不能配置0.0.0.0,所以如果listeners要配置为0.0.0.0的话,advertised.listeners参数必须要配置其他的参数。否则会出现如下错误:

java.lang.IllegalArgumentException: requirement failed: advertised.listeners cannot use the nonroutable meta-address 0.0.0.0. Use a routable IP address

配置域名

如果配置的是内网域名的话,需要在/etc/hosts中进行命名。否则会提示地址服务解析。

 

3)两个都进行配置

如果两个都设置了,那么在zookeeper中进行注册的就是advertised.listeners中的值。

 

这里一般listener参数保持默认

advertised.listeners参数配置映射的域名


文章评论

0

其他文章