服务端参数配置

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

zookeeper.connect

该参数用于配置Kafka要连接的Zookeeper/集群的地址。
它的值是一个字符串,使用逗号分隔Zookeeper的多个地址。Zookeeper的单个地址是 host:port
形式的,可以在最后添加Kafka在Zookeeper中的根节点路径

zookeeper.connect=node2:2181,node3:2181,node4:2181/myKafka

kafka服务内存和链接数配置建议 kafka server配置_kafka服务内存和链接数配置建议

listeners

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

与 advertised.listeners 配合,用于做内外网隔离

kafka服务内存和链接数配置建议 kafka server配置_zookeeper_02

  • 内外网隔离配置:
    listener.security.protocol.map
    监听器名称和安全协议的映射配置。
    比如,可以将内外网隔离,即使它们都使用SSL。
    listener.security.protocol.map=INTERNAL:SSL,EXTERNAL:SSL
    每个监听器的名称只能在map中出现一次
  • inter.broker.listener.name
    用于配置broker之间通信使用的监听器名称,该名称必须在advertised.listeners列表中。
    inter.broker.listener.name=EXTERNA
    * listeners
    用于配置broker监听的URI以及监听器名称列表,使用逗号隔开多个URI及监听器名称。
    如果监听器名称代表的不是安全协议,必须配置listener.security.protocol.map。
    每个监听器必须使用不同的网络端口
  • 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 等等

kafka服务内存和链接数配置建议 kafka server配置_sed_03

log.dir

通过该属性的值,指定Kafka在磁盘上保存消息的日志片段的目录。
它是一组用逗号分隔的本地文件系统路径。
如果指定了多个路径,那么broker 会根据“最少使用”原则,把同一个分区的日志片段保存到同一个
路径下。
broker 会往拥有最少数目分区的路径新增分区,而不是往拥有最小磁盘空间的路径新增分区

kafka服务内存和链接数配置建议 kafka server配置_zookeeper_04