作者:手机用户2602884231 | 来源:互联网 | 2023-09-23 19:27
################################################################################System####
##########################################################
###################### System ############################
##########################################################
唯一标识在集群中的ID,要求是正数。
broker.id=1
像zk注册本机的IP地址,以防默认情况下状况注册信息为host地址,引发连接错误
listeners=PLAINTEXT://111.111.111.64:9092
advertised.listeners=PLAINTEXT://111.111.136.64:9092
服务端口,默认9092
port=9092
配置队列可被命令彻底删除
delete.topic.enable=true
处理网络请求的最大线程数
num.network.threads=15
处理磁盘I/O的线程数
num.io.threads=15
一些后台线程数
background.threads = 10
等待IO线程处理的请求队列最大数
queued.max.requests = 500
socket的发送缓冲区(SO_SNDBUF)
socket.send.buffer.bytes=1048576
socket的接收缓冲区 (SO_RCVBUF)
socket.receive.buffer.bytes=1048576
socket请求的最大字节数。为了防止内存溢出,message.max.bytes必然要小于
socket.request.max.bytes = 104857600
##########################################################
###################### Topic #############################
##########################################################
每个topic的分区个数,更多的partition会产生更多的segment file
num.partitiOns=3
是否允许自动创建topic ,若是false,就需要通过命令创建topic
auto.create.topics.enable =true
一个topic ,默认分区的replication个数 ,不能大于集群中broker的个数。
default.replication.factor =2
消息体的最大大小,单位是字节
message.max.bytes = 104857600
kafka的内部topic consumer_offsets副本数
offsets.topic.replication.factor=3
transaction.state.log.replication.factor=3
transaction.state.log.min.isr=1
设置offset的过期时间
offset.retention.minutes = 1440
##########################################################
#####################ZooKeeper ###########################
##########################################################
Zookeeper quorum设置。如果有多个使用逗号分割
zookeeper.cOnnect=111.121.121.192:2181,111.121.121.193:2181,111.121.121.194:2181
连接zk的超时时间
zookeeper.connection.timeout.ms=6000
ZooKeeper集群中leader和follower之间的允许同步实际差异
zookeeper.sync.time.ms = 2000
##########################################################
########################Log ##############################
##########################################################
日志存放目录,多个目录使用逗号分割
log.dirs=/opt/kafka_data
当达到下面的消息数量时,会将数据flush到日志文件中。默认10000
log.flush.interval.messages=10000
当达到下面的时间(ms)时,执行一次强制的flush操作。interval.ms和interval.messages无论哪个达到,都会flush。
log.flush.interval.ms=2000
检查是否需要将日志flush的时间间隔
log.flush.scheduler.interval.ms = 300000
日志清理策略
log.cleanup.policy = delete
日志保存时间hours
log.retention.hours=24
启动时用于日志恢复和关闭时用于刷新的每个数据目录的线程数
num.recovery.threads.per.data.dir=1
##########################################################
#######################replica############################
##########################################################
leader复制的socket缓存大小
replica.socket.receive.buffer.bytes= 65536
replicas每次获取数据的最大字节数
replica.fetch.max.bytes = 1048576
leader中进行复制的线程数,增大这个数值会增加relipca的IO
num.replica.fetchers = 4
是否自动平衡broker之间的分配策略
auto.leader.rebalance.enable = true
leader的不平衡比例,若是超过这个数值,会对分区进行重新的平衡
leader.imbalance.per.broker.percentage = 10
检查leader是否不平衡的时间间隔
leader.imbalance.check.interval.secOnds= 120
客户端保留offset信息的最大空间大小
offset.metadata.max.bytes = 4096
#############################Consumer #############################
当zookeeper中没有初始的offset时,或者超出offset上限时的处理方式 。
earliest:重置为最小值
latest:重置为最大值
anything else:抛出异常给consumer
auto.offset.reset = latest
socket的接收缓存空间大小
socket.receive.buffer.bytes=65536
从每个分区fetch的消息大小限制
fetch.message.max.bytes = 1048576
让coordinator推迟空消费组接收到成员加入请求后本应立即开启的rebalance时间
group.initial.rebalance.delay.ms = 3000
#############################Producer#############################
消息的确认模式
0:不保证消息的到达确认,只管发送,低延迟但是会出现消息的丢失,在某个server失败的情况下,有点像TCP
1:发送消息,并会等待leader 收到确认后,一定的可靠性
-1:发送消息,等待leader收到确认,并进行复制操作后,才返回,最高的可靠性
acks = 1
消息发送的最长等待时间
request.timeout.ms = 30000
socket的缓存大小
send.buffer.bytes=131072
分区的策略,默认是取模
partitioner.class=kafka.producer.DefaultPartitioner