配置文件目录:/usr/local/kafka/config
配置文件server.propertis参数说明:
broker.id=0
每一个broker在集群中的唯一标识,要求是正数,当该服务器的IP地址发生变化时,broker.id没有变化,则不会影响consumers的消息情况
log.dirs=/usr/local/kafka/logs
kafka数据的存放地址,多个地址的话用逗号分隔/usr/local/kafka/log_1,/usr/local/kafka/log_2
num.io.threads要大于这个目录的个数,若配置多个目录,新创建的topic消息持久化的地方时,当前以逗号分割的目录中,那个分区数最少就放一个
port=9001
broker server服务端口
message.max.bytes=6525000
消息体的最大字节数
num.network.threads=4
broker处理消息的最大线程数,一般情况下不需要去修改
num.io.threads=8
broker处理磁盘IO的线程数,数值应该大于硬盘数
background.threads=4
一些后台任务处理的线程数,例如过期消息文件的删除
queued.max.requests=500
等待IO线程处理的请求队列最大数,若是等待IO的请求超过这个数值,那么会停止接受外部消息,是一种自我保护机制
host.name
broker的主机地址,若是设置,会绑定到该地址,若是没有,会绑定到所有接口上,并将其中之一发送到ZK,一般不设置
broker.list
Kafka集群服务器IP:PORT列表(用逗号隔开)
socket.send.buffer.bytes=100*1024
socket的发送缓冲区,socker的调优参数SO_SNDBUFF
socket.receive.buffer.bytes
socket的接受缓冲区,socket的调优参数SO_RCVBUFF
socket.request.max.bytes=104857600
向Kafka请求消息或者向Kafka发送消息的请求最大数,这个值不能超过java的堆栈大小
num.partitions=1
默认分区数,一个topic默认一个分区数
log.retention.hours=168
消息的最大持久化时间,168小时,7天
default.replication.factor=2
Kafka保存消息的副本数,如果一个副本失效了,另一个还可以继续提供服务
replica.fetch.max.bytes=5242880
取消息的最大直接数
log.segment.bytes=1073741824
Kafka的消息以追加的方式保存至文件,当超过这个数值的时候,Kafka会新起一个文件
log.retention.check.interval.ms=300000
每隔300000毫秒去检查上面配置log(log.retention.hours=168)失效时间,到目录查看是否有过期的消息,如果有则删除
log.cleaner.enable=false
是否启用log压缩,一般不用启用
zookeeper.connect=192.168.1.201:2181,192.168.1.202:2181,192.168.1.203:2181
设置zookeeper的连接