Kafka配置文件详解

Kafka有三个的重要配置文件:

  • Kafka主配置文件:server.properties
  • Kafka消息生产者:producer.properties
  • Kafka消息消费者:consumer.properties

Kafka主配置文件server.properties:

broker.id=1
#该节点是Kafka集群中的唯一标识,必须为整数
listeners=PLAINTEXT://sx-sj-mcn-out1-2.novalocal:9092
#sx-sj-mcn-out1-2.novalocal为该服务器套接字的监听地址,绑定host.name
#9092为Kafka所监听的端口,producer或者consumer与此端口建立连接
num.network.threads=3
#Kafka从网络接收请求并向网络发送响应的线程数,默认为3,从网络接收到的消息请求将存放在内存中,然后再写入磁盘
num.io.threads=8
#Kafka磁盘I/O处理请求的线程数,默认为8,消息请求从内存中写入磁盘时所使用的线程数
socket.send.buffer.bytes=102400
#Kafka发送套接字的数据缓冲区大小,单位为字节,大小为100KB;1048576bytes=1024KB=1MB
socket.receive.buffer.bytes=102400
#Kafka接收套接字的数据缓冲区大小,单位为字节,默认为100KB
socket.request.max.bytes=104857600
#Kafka最大接受套接字请求的大小,设置该值是为了对OOM保护,OOM称之内存溢出;单位为字节,默认为100MB;104857600bytes=100MB
log.dirs=/application/kafka_2.12-2.2.1/kafka-logs/
#Kafka的数据持久化位置,支持分散存储,存储在不同的磁盘上,有助于提高读写性能,多个地址使用逗号分隔
num.partitions=1
#Topic在当前Kafka节点的分片数量,默认为1
num.recovery.threads.per.data.dir=1
#Kafka默认日志保留时间为7天,此值为Kafka日志超时后的清理线程数,处了清理超时日志外,还用来日志恢复,如果日志数据存储位置在RAID中,建议增加该值,默认为1
offsets.topic.replication.factor=1
#Topic副本因子偏移量
transaction.state.log.replication.factor=1
#副本因子事物状态日志数量
transaction.state.log.min.isr=1
#事物状态日志最小数量
#组元数据内部主题"_consumer_offsets"和"_transaction_state"的复制因子,对于开发测试之外的任何测试,建议使用大于1的值来确保可用性,比如3,其实这段我也没明白什么意思,官网翻译。
log.flush.interval.messages=10000
log.flush.interval.ms=1000
#Kafka从网络接收请求后会将该消息放在内存中,随后写入磁盘,那么什么时候会将消息从内存中写入磁盘呢?有两个配置来触发写入时间,分别为消息数量限制和时间限制
#以上两项第一项为消息数量限制,当内存中保存消息的分片缓冲区达到10000条消息时,将自动触发flush把内存中的消息写入到磁盘。
#第二项为时间限制,当内存中的消息在内存中保存超过1000毫秒,也就是为一秒种,将自动触发flush把内存中的消息写入到磁盘,这是官方给的默认值
log.retention.hours=168
#日志文件保留时间,超时后将被num.recovery.threads.per.data.dir进程清理,单位为小时,默认为7天
log.segment.bytes=1073741824
#单个日志文件最大大小,单位为字节,默认为1GB,当单个日志文件达到1GB之后,将自动新建一个日志
log.retention.check.interval.ms=300000
#检查单个日志文件大小的间隔时间,如果单个日志文件大于等于上面设置的值,将自动新建日志,单位为毫秒,默认为300秒,300000ms=300s=5m
zookeeper.connect=10.150.55.94:2181
#指定连接ZooKeeper服务器的地址及端口,如果指定多个ZK集群,需用逗号","来分隔各个ZK节点,使用该ZK节点用来存储本机Kafka的状态
zookeeper.connection.timeout.ms=6000
#Kafka连接到ZooKeeper节点的超时时间,单位为毫秒,默认为6秒;6000ms=6秒
group.initial.rebalance.delay.ms=0
#当有新成员加入Kafka集群时,指定该值以获得节点在集群中的平衡,写为0是为了测试中有更好的体验,官方建议在生产环境中3秒更合适。单位为微妙。

Kafka消息生产者producer.properties:

bootstrap.servers=10.150.55.94:9092
#指定broker节点的地址及端口,如果为集群,建议写入集群中的所有broker节点的IP:Port,逗号","分隔,如果只写入了本机的地址及端口,如果本机的broker节点故障,那么该producer生产的信息将无法发送到指定的Topic中
compression.type=none
#为消息生产者所生成的所有数据指定编解码器,默认为none,代表不指定,可指定的值为:none、				gzip、snappy、lz4、zstd
request.timeout.ms=10000
#producer消息生产者向Topic发送消息的超时时间,如果超过了该值将设置超时,单位为毫秒
max.block.ms=10000
#Kafka的producer多长时间未发送成功,将被阻塞,单位为毫秒

Kafka消息消费者consumer.properties:

zookeeper.connect=127.0.0.1:2181
#(必需)zookeeper连接服务器地址(集群可写多个)
zookeeper.connection.timeout.ms=6000
#zookeeper的session的过期时间
zookeeper.sync.time.ms=2000 
#指定多久消费者更新offset到zookeeper中
group.id=test-consumer-group
#(必需)consumer组id
consumer.timeout.ms=5000
#消费者超时
auto.commit.enable=true 
#自动向zookeeper提交offset信息
auto.commit.interval.ms=1000
#自动更新时间
consumer.id=xxx 
#当前consumer的标识
client.id=xxx 
#消费者客户端编号,用于区分不同客户端,默认客户端程序自动产生
queued.max.message.chunks=50
#最大取多少块缓存到消费者(默认10)
rebalance.max.retries=5
#当有新的consumer加入到group时,将会reblance.
fetch.min.bytes=655360
#获取消息的最大尺寸,broker不会向consumer输出大于此值得chunk
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值