Kafka 服务器参数配置

$KAFKA_HOME/config/server.properties⽂件中的配置

一、zookeeper.connect

该参数⽤于配置Kafka要连接的Zookeeper/集群的地址。

它的值是⼀个字符串,使⽤逗号分隔Zookeeper的多个地址。Zookeeper的单个地址是host:port形式的,可以在最后添加Kafka在Zookeeper中的根节点路径。

如:

zookeeper.connect=192.168.0.102:2181,192.168.0.103:2181,192.168.0.104:2181/myKafka

二、listeners

⽤于指定当前Broker向外发布服务的地址和端⼝。

advertised.listeners配合,⽤于做内外⽹隔离。

内外⽹隔离配置

  1. listener.security.protocol.map

    监听器名称和安全协议的映射配置。

    ⽐如,可以将内外⽹隔离,即使它们都使⽤SSL。

    listener.security.protocol.map=INTERNAL:SSL,EXTERNAL:SSL

    每个监听器的名称只能在map中出现⼀次。

  2. inter.broker.listener.name

    ⽤于配置broker之间通信使⽤的监听器名称,该名称必须在advertised.listeners列表中。

    inter.broker.listener.name=EXTERNAL

  3. listeners

    ⽤于配置broker监听的URI以及监听器名称列表,使⽤逗号隔开多个URI及监听器名称。

    如果监听器名称代表的不是安全协议,必须配置 listener.security.protocol.map

    每个监听器必须使⽤不同的⽹络端⼝。

  4. advertised.listeners

    需要将该地址发布到zookeeper供客户端使⽤,如果客户端使⽤的地址与listeners配置不同。

    可以在zookeeper的get /myKafka/brokers/ids/<broker.id>中找到。

    在IaaS环境,该条⽬的⽹络接⼝得与broker绑定的⽹络接⼝不同。

    如果不设置此条⽬,就使⽤listeners的配置。跟listeners不同,该条⽬不能使⽤0.0.0.0⽹络端⼝。

    advertised.listeners的地址必须是listeners中配置的或配置的⼀部分。

典型配置:

三、broker.id

该属性⽤于唯⼀标记⼀个Kafka的Broker,它的值是⼀个任意integer值。

当Kafka以分布式集群运⾏的时候,尤为重要。

最好该值跟该Broker所在的物理主机有关的,如主机名为host1.lagou.com,则broker.id=1,如果主机名为192.168.100.101,则broker.id=101等等。

四、log.dirs

通过该属性的值,指定Kafka在磁盘上保存消息的⽇志⽚段的⽬录。

它是⼀组⽤逗号分隔的本地⽂件系统路径。

如果指定了多个路径,那么broker 会根据“最少使⽤”原则,把同⼀个分区的⽇志⽚段保存到同⼀个路径下。

broker 会往拥有最少数⽬分区的路径新增分区,⽽不是往拥有最⼩磁盘空间的路径新增分区。

posted @ 2022-05-16 20:54  下半夜的风  阅读(388)  评论(0编辑  收藏  举报