kafka-保姆级配置说明(broker)

ops/2025/2/1 15:57:14/

一. important
##broker ID,cluster唯一标识,数字类型
##此值可以不指定,有集群自动创建(由当前集群现有的brokerID + 1)。
##默认值为-1
broker.id=5
#broker.id.generation.enable=true
##zookeeper连接地址
zookeeper.connect=10.0.3.70:2181,10.0.3.71:2181,10.0.4.70:2181/kafka
zookeeper.connection.timeout.ms=6000
zookeeper.session.timeout.ms=6000
##broker绑定的ip和端口
##不能与host.name同时配置
listeners=PLAINTEXT://10.0.3.79:9092
port=9092
##broker数据文件保存的目录,建议数据目录使用单独的高性能磁盘驱动
##默认值为:/tmp/kafka-logs
log.dir=/data/kafka
##自动创建的topics所具有的replication个数
default.replication.factor=2
##每个topic默认的partion个数,默认值为1
##建议此值有producer自主决定,因为涉及到partition sharding的设置
num.partitions=1

二. topics:

##[topics]
##后台线程的个数,后台线程用于leader平衡、consumer活性检测
##日志文件切分或回收等
##默认为10
background.threads=10
##设置指定topic的数据压缩类型,
##允许值“producer”、“gzip”、“snappy”、“lz4”
##“producer”值表示压缩算法由producer端指定
##默认值为“producer”
compression.type=producer
##是否允许删除topic
##无论是否关闭,我们总是可以使用admin工具删除topic
delete.topic.enable=false
##是否允许自动创建topic,如果producer端指定的topic尚未被创建时。
##基于admin管控,可以设置为false。
##默认为true
auto.create.topics.enable=true
##是否开启partition leaders自动rebalance机制
##后台线程将会间歇性的检测并适时触发“rebalance”
##默认为true
auto.leader.rebalance.enable=true
##controller检测partition均衡性的频率,单位秒
##默认值为300
leader.imbalance.check.interval.seconds=300
##允许每个broker上失衡leader的占比。
##如果某个broker失衡leader的占比超过此值,controller将会触发rebalance。
##默认为10,百分比
leader.imbalance.per.broker.percentage=10
##是否开启将不在ISR列表的replicas选举为leader,这是最后的手段(即ISR列表中的replicas都已不可达)
##尽管这样可能会导致数据丢失。
unclean.leader.election.enable=true
##consumers的会话过期时间:
##超时后将会认为此cusumers已下线,其上相应的partiton消费将会转发给此group的其他consumers
group.max.session.timeout.ms=30000

三. logs:

##[log]
##log partition上累积N条消息后进行磁盘刷新
##默认值为:9223372036854775807
##默认情况下,磁盘文件刷新时机由OS确定,broker不主动刷盘
#log.flush.interval.messages=100000
##topic中消息刷盘的时间间隔,在此之前,消息将会保存在内存中
##如果不设置此值,将会有“log.flush.scheduler.interval.ms”值决定。
##默认值:null
#log.flush.interval.ms=1000
##默认值:9223372036854775807
#log.flush.scheduler.interval.ms=1000
##默认值:
log.flush.offset.checkpoint.interval.ms=60000
##log数据保留的最大尺寸,超过此值后,历史log数据将会被删除
##默认为-1,表示log数据“不按照尺寸”方式评估
log.retention.bytes=-1
##log数据保留的小时数,默认为168(一周)
log.retention.hours=168
##当没有logs需要清理时,后台线程sleep的时间
log.cleaner.backoff.ms=15000
##开启log清理
##如果不开启,log文件(数量、尺寸)将会一直增加,不会被删除
log.cleaner.enable=true
log.cleaner.threads=1
##日志清理的策略:delete、compact;默认值为delete
##delete:删除历史log文件
##compact:合并压缩,即将相同的key的消息进行compact,相同key的多条消息值保留最近一条。(非compression)
log.cleanup.policy=delete
##log超期(超尺寸)检测的时间间隔,以判断segment是否可以被删除(加入删除列表)
log.retention.check.interval.ms=300000
##log片段切分的时间间隔(roll),默认值为168
log.roll.hours=168
##单个log片段的大小,超过此值将会被roll,默认值为1G
log.segment.bytes=1073741824
##间隔多少字节后,在offset index文件中添加一个条目
##此值越小,index文件越大,根据offset定位log文件越快
##默认值为4096,此处调整为1M
log.index.interval.bytes=1048576
##offset index文件的最大尺寸,超出后将会roll out
##默认值10M
log.index.size.max.bytes=10485760
##log片段文件预分配,*linux系统不需要,window平台上建议开启。
log.preallocate=false

四. replicas:

 ##[replicas]
##当需要满足producer端“required.acks=-1”的请求时,
##ISR列表中replicas的最小个数。(in-sync replicas)
##默认值为1(即leader)
min.insync.replicas=1
##replicas从leader中同步(fetch)数据的线程数量,建议为1
##增加此值可以提高follower broker的并发度
num.replica.fetchers=1
replica.fetch.max.bytes=1048576
replica.fetch.wait.max.ms=500
##如果follower在此时间内没有发送任何fetch请求、或者不能与leaders跟进
##leader将会把此follower从ISR列表中移除。(直到此follower跟进为止)
replica.lag.time.max.ms=10000
##当follower fetch数据时遇到异常,等待的时间间隔(重试)
replica.fetch.backoff.ms=1000
##offset消息提交需要的acks,默认为-1(all),且决不能覆盖
##offset请求是一种特殊的请求,它必须在相应的partiton所在ISR列表中全部提交确认后
offsets.commit.required.acks=-1
##offset请求提交将会被delay,知道offset topic的所有replicas收到提交或者超时
##类似于producer端的请求超时。
offsets.commit.timeout.ms=5000
##offset topic的partitions个数,属于broker内部机制,建议不要调整此值
offsets.topic.num.partitions=50
offsets.topic.replication.factor=3


http://www.ppmy.cn/ops/154788.html

相关文章

TensorFlow 手动构建一个神经网络

TensorFlow 和 Keras 来构建和训练一个简单的神经网络模型。我们来逐行解析它的功能 import tensorflow as tf import numpy as np tensorflow:导入 TensorFlow 库,TensorFlow 是一个开源的机器学习框架。numpy:导入 NumPy 库,它…

STM32使用VScode开发

文章目录 Makefile形式创建项目新建stm项目下载stm32cubemx新建项目IED makefile保存到本地arm gcc是编译的工具链G++配置编译Cmake +vscode +MSYS2方式bilibiliMSYS2 统一环境配置mingw32-make -> makewindows环境变量Cmake CmakeListnijia 编译输出elfCMAKE_GENERATOR查询…

小程序 uniapp 地图 自定义内容呈现,获取中心点,获取对角经纬度,首次获取对角经纬度

前言 使用uniapp 小程序 使用地图,我使用的是uniapp原生的地图,实现根据坐标在地图上显示自定义内容,首次加载获取坐标对角经纬度,通过对角经纬度给后端,进行只显示当前屏幕内的自定义内容,在通过拖拽事件…

装饰SpringMVC的适配器实现响应自动包装

文章目录 1.common-tool-starter1.目录结构2.ResultWrapper.java 2.common-web-starter1.目录结构2.IgnoredResultWrapper.java 自定义注解,忽略对返回结果的自动包装3.ReturnValueHandlersDecorator.java 对适配器进行扩展的装饰器4.WebAutoConfiguration.java 将装…

SAP内向交货单详解

【SAP系统研究】 #SAP #交货单 #内向交货单 一、内向交货单的概念 内向交货单,Inbound Delivery,是SAP系统中用于管理外部供应商或内部工厂向公司发货的文档。它记录了货物从供应商到公司仓库或生产地点的运输和接收过程。 内向交货单的主要功能有: (1)货物接收:用于…

Java---猜数字游戏

本篇文章所实现的是Java经典的猜数字游戏 , 运用简单代码来实现基本功能 目录 一.题目要求 二.游戏准备 三.代码实现 一.题目要求 随机生成一个1-100之间的整数(可以自己设置区间),提示用户猜测,猜大提示"猜大了",…

LeetCode 跳跃类问题的解题技巧:跳跃游戏与最少跳跃数

LeetCode 跳跃类问题的解题技巧:跳跃游戏与最少跳跃数 在 LeetCode 中,有一类经典的题目是关于跳跃的,例如 跳跃游戏 和 跳跃游戏 II。这些问题通常要求我们判断是否能从数组的起始位置跳跃到结束位置,或者求得最少跳跃次数。解决…

C++ list

list需知: list不会出现insert迭代器失效问题 链表插入不会影响原有数据相对位置,且不用扩容 但是erase会导致相对数据位置移动,所有其erase会导致迭代器失效 list排序效率很低 不建议使用 小规模数据量可以使用,比较方便 此外…