下载解压 kafka 后,在 kafka/config 下有 3 个配置文件与主题的生产、消费相关。
  • server.properties–服务端配置
  • producer.properties–生产端配置
  • consumer.properties–消费端配置
这里主要介绍服务端的参数配置。
 
server.properties 
#指定 kafka集群中 broker 的全局编号,每一个 broker 的编号不能重复。
broker.id=0
 
#Listeners 指明 broker 监听客户端连接的地址列表,即客户端要连接 broker 的入口地址列表,
#配置格式为protocol://hostname:port,多个地址中间以逗号隔开,
#其中 protocol 代表协议类型,Kafka 当前支持的协议类型有 PLAINTEXT、SSL、SASL_SSL 等,如果未开启安全认证,则使用简单的 PLAINTEXT 即可;
#hostname 代表主机名,主机名最好不要为空,这里是 localhost;
#port 代表服务端口,producer或consumer将在此端口建立连接,这里是 9092。
listeners=PLAINTEXT://localhost:9092
 
#advertised.listeners 主要用于 IaaS(Infrastructure as a Service)环境,
#若多块网卡包含私网网卡和公网网卡,配置 listeners 参数绑定私网IP地址供 broker 间通信使用,
#配置advertised.listeners 参数绑定公网IP供外部客户端使用,
advertised.listeners=PLAINTEXT://localhost:9092
 
#broker 处理网络请求的线程数量,也就是接收消息的线程数,一般情况下不需要去修改。
#接收线程会将接收到的消息放到内存中,然后再从内存中写入磁盘。
num.network.threads=3
 
#消息从内存中写入磁盘时使用的线程数量。
#用来处理磁盘IO的线程数量。
num.io.threads=8
 
#发送套接字的缓冲区大小。
socket.send.buffer.bytes=102400
 
#接受套接字的缓冲区大小。
socket.receive.buffer.bytes=102400
 
#请求套接字的缓冲区大小。
socket.request.max.bytes=104857600
 
#kafka运行日志存放的路径
log.dirs=/usr/local/kafka/log/kafka
 
#topic在当前broker上的分片数
num.partitions=1
 
#日志默认会被保留7天的时间,超时的话就会被清理,清理这件事情就需要有一些线程来做。
#这里就是用来设置恢复和清理data下数据的线程数量。
num.recovery.threads.per.data.dir=1
 
#主题的副本数量
offsets.topic.replication.factor=1
 
#事务主题的复制因子,设置更高以确保可用性。
transaction.state.log.replication.factor=1
 
#覆盖事务主题的min.insync.replicas配置。
transaction.state.log.min.isr=1
 
#接收线程会将接收到的消息放到内存中,然后再从内存写到磁盘上,
什么时候将消息从内存中写入磁盘,就有一个时间限制(时间阈值)和一个数量限制(数量阈值)
#这里设置的是数量阈值,消息的条数达到阈值,将触发flush到磁盘。下一个参数设置的则是时间阈值。
log.flush.interval.messages=10000
 
#消息buffer的时间,达到阈值,将触发将消息从内存flush到磁盘,单位是毫秒。
log.flush.interval.ms=1000
 
#日志文件保留的最长时间,单位小时,默认保留7天(168小时),超时将被删除。
log.retention.hours=168
 
#topic 的分区是以一堆 segment 文件存储的,
#此参数控制日志文件中每个 segment 的大小,单位是字节,即默认为1G。
log.segment.bytes=1073741824
 
#周期性检查文件大小的时间,单位是毫秒。
#即定期检查 segment 文件有没有达到1G(上一个参数)
log.retention.check.interval.ms=300000
 
#zookeeper 的集群地址,可以是多个,多个地址之间用逗号隔开,
#broker需要使用 zookeeper 保存 meta 数据。
zookeeper.connect=localhost:2181
 
#zookeeper 的连接超时时间
zookeeper.connection.timeout.ms=6000
 
#在执行第一次再平衡之前,group 协调员将等待更多消费者加入 group 的时间。 
#延迟时间越长意味着重新平衡的可能性越小,但是等待处理开始的时间增加。
group.initial.rebalance.delay.ms=0 
 

版权声明:本文为sunshineliulu原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/sunshineliulu/p/12012000.html