Kafka服务端参数配置
配置参数
$KAFKA_HOME/config/server.properties⽂件中的配置参数。
zookeeper.connect
该参数⽤于配置Kafka要连接的Zookeeper/集群的地址。
它的值是⼀个字符串,使⽤逗号分隔Zookeeper的多个地址。Zookeeper的单个地址是 host:port 形式的,可以在最后添加Kafka在Zookeeper中的根节点路径。如:
1 | zookeeper.connect=node2:2181,node3:2181,node4:2181/myKafka |
内外⽹隔离配置
listeners
⽤于指定当前Broker向外发布服务的地址和端⼝,使⽤逗号隔开多个URI及监听器名称,每个监听器必须使⽤不同的⽹络端⼝。
如果监听器名称代表的不是安全协议,必须配置listener.security.protocol.map。
listener.security.protocol.map
监听器名称和安全协议的映射配置。
⽐如,可以将内外⽹隔离,即使它们都使⽤SSL。如:listener.security.protocol.map=INTERNAL:SSL,EXTERNAL:SSL
每个监听器的名称只能在map中出现⼀次。
advertised.listeners
需要将该地址发布到zookeeper供客户端使⽤,如果客户端使⽤的地址与listeners配置不同。
可以在zookeeper的 get /myKafka/brokers/ids/<broker.id> 中找到。
在IaaS环境,该条⽬的⽹络接⼝得与broker绑定的⽹络接⼝不同。
如果不设置此条⽬,就使⽤listeners的配置。跟listeners不同,该条⽬不能使⽤0.0.0.0⽹络端⼝。
advertised.listeners的地址必须是listeners中配置的或配置的⼀部分。
inter.broker.listener.name
⽤于配置broker之间通信使⽤的监听器名称,该名称必须在advertised.listeners列表中。如:inter.broker.listener.name=EXTERNAL
broker.id
该属性⽤于唯⼀标记⼀个Kafka的Broker,它的值是⼀个任意integer值。
当Kafka以分布式集群运⾏的时候,尤为重要。
最好该值跟该Broker所在的物理主机有关的,如主机名为 host1.lagou.com ,则 broker.id=1 ,如果主机名为 192.168.100.101 ,则 broker.id=101 等等。
log.dir
通过该属性的值,指定Kafka在磁盘上保存消息的⽇志⽚段的⽬录。
它是⼀组⽤逗号分隔的本地⽂件系统路径。
如果指定了多个路径,那么broker 会根据“最少使⽤”原则,把同⼀个分区的⽇志⽚段保存到同⼀个路径下。
broker 会往拥有最少数⽬分区的路径新增分区,⽽不是往拥有最⼩磁盘空间的路径新增分区。