Broker重要参数

参考官方文档

broker.id

        Kafka集群中Broker的唯一标识。

zookeeper.connect

        Zookeeper连接地址,支持逗号分隔的形式配置多个zk地址,也可以在最后加上zk的路径。如zookeeper.connect=bigdata-1:2181,bigdata-2:2181,bigdata-3:2181/kafka。

advertised.listeners(默认值为null)

        Kafka客户端使用的地址,不配置的话使用listeners配置的值。当Borker之间使用内网通信,Producer和Consumer使用外网通信时,需要配置advertised.listeners为外网地址。

listeners(默认值为null)

        Borker之间通信地址,可以逗号分隔的形式配置多个IP和端口,支持PLAINTEXT, SSL, SASL_PLAINTEXT, SASL_SSL等安全协议。如果IP配置为0.0.0.0,则相当于bind了所有网卡。如果IP地址不配置的话,则会使用回环地址。如listeners=PLAINTEXT://bigdata-2:6667。

auto.create.topics.enable(默认值为true)

        是否允许自动创建Topic,默认值为true,建议线上环境设置为false,严格管理新增的Topic。

auto.leader.rebalance.enable(默认值为true)

        如果某个Partition的Leader挂掉,该Partition副本所在的Broker会成为这Partition的Leader,这样会造成Leade分布不均衡,Leader多的Broker读写压力都会比较大。如果开启了auto.leader.rebalance.enable,则当原来挂掉的Broker恢复正常以后,可以夺回Leader。

leader.imbalance.per.broker.percentage (默认值为10)

        所有Broker中leader的不平衡比例,若是超过这个数值,会对分区进行重新的平衡。Broker的分区不平衡比例=非优先副本的leader个数/分区总数。只有当auto.leader.rebalance.enable设置为true时才有效。建议将auto.leader.rebalance.enable设置为false,避免集群自动执行优先副本选举,因为这样不可控。最好是手动使用path-to-json-file的方式小批量执行优先副本选举。

leader.imbalance.check.interval.seconds(默认值为300)

        检查集群leader是否平衡的时间间隔。

compression.type(默认值为producer)

        Broker对消息的压缩格式,支持gzip、snappy、 lz4、zstd和uncompressed。也可以配置成producer,表示以Producer端设置的压缩方式为准。

delete.topic.enable(默认值为true)

        是否支持使用管理工具删除Topic,默认为true,支持删除。

log.dir(默认值为/tmp/kafka-logs)

        Broker数据的存储目录。

log.dirs(默认值为null)

        Broker数据的存储目录,支持配置多个目录,一般都会每个磁盘配置一个目录。如果没有配置,则使用log.dir指定的目录作为数据存储目录。如果配置了,则优先级高于log.dir。

log.flush.interval.messages(默认值为Long.MAX_VALUE)

        设置当一个分区的Log文件积累了多少数据量以后Flush到磁盘。备注:操作系统也会不定期的把缓存中的数据Flush到磁盘。

log.flush.interval.ms(默认值为null)

        设置一个分区Log文件中的数据在缓冲区的最长时间,超过这个时间则需要FLush到磁盘。如果不设置,则使用参数log.flush.scheduler.interval.ms的值。

log.flush.scheduler.interval.ms(默认值为Long.MAX_VALUE)

        设置每隔多久检查一次分区Log文件是否需要Flush到磁盘。

log.flush.offset.checkpoint.interval.ms(默认值为60000)

        设置Flush已经存储到磁盘的数据的offset的频率,在数据恢复的时候使用。比如Flush到磁盘的数据的最大offset为99,则在数据恢复时,需要从其他副本offset为100开始拉去数据。

log.flush.start.offset.checkpoint.interval.ms

        更新Log起始offset的持久记录的频率。

log.retention.hours(默认值为168)

        Kafka数据Housekeeping策略,默认为168小时,即7天。

log.retention.minutes(默认值为null)

         Kafka数据Housekeeping策略,如果不设置,则使用参数log.retention.hours设置的值。

log.retention.ms(默认值为null)

         Kafka数据Housekeeping策略,如果不设置,则使用参数log.retention.minutes设置的值。如果设置为-1,则表示不做Housekeeping。

log.segment.delete.delay.ms(默认值为60000)

        日志文件被真正删除前的保留时间。当删除的条件满足以后,日志将被“删除”,但是这里的删除其实只是将该日志进行了“delete”标注,文件只是无法被索引到了而已。但是文件本身,仍然是存在的,只有当过了log.segment.delete.delay.ms 这个时间以后,文件才会被真正的从文件系统中删除。

log.roll.hours(默认值为168)

        Kafka的数据文件滚动策略,默认为168小时,即7天。

log.roll.ms(默认值为null)

        Kafka的数据文件滚动策略,如果不设置,则使用参数log.roll.hours设置的值。

log.segment.bytes(默认值为1073741824)

         Kafka的数据文件滚动策略,默认值为1073741824个字节,即1G。

message.max.bytes (默认值为1000012)  

        Broker接收Producer单次请求的最大字节数,间接限制了单条消息的大小。该参数值不应该设置得大于Consumer端fetch.message.max.bytes参数的值。

min.insync.replicas (默认值为1)  

        当Producer端将acks设置为"all"或者"-1"时,min.insync.replicas指定必须确认成功写入的最小副本数。如果达不到min.insync.replicas指定的数量,则Producer端会抛NotEnoughReplicas 或NotEnoughReplicas。

num.io.threads(默认值为8)  

        Broker端处理数据请求和响应的线程数,包括处理磁盘IO的线程。

num.network.threads(默认值为3)  

        Broker端处理网络连接的线程数。

num.replica.fetchers(默认值为1)

        当需要从其他Broker拉取数据时,该参数限制了用于拉取数据的线程数。增加该参数的值,可以提高IO的并行度。

queued.max.requests(默认值为500)  

        Broker端请求队列大小。

replica.fetch.min.bytes(默认值为1)

        限制每个Fetch Response的最小字节数,如果达不到该参数设置的值,则需要等待参数replica.fetch.wait.max.ms指定的毫秒数。

replica.fetch.wait.max.ms(默认值为500)

        限制Fetch Response的字节数达不到replica.fetch.min.bytes指定的值时,Fetch Request需要等待的时间。

replica.lag.time.max.ms(默认值为10000)  

        该参数设置了Leader将Replica移出ISR的条件。当Replica在该参数指定的时间没有从Leader拉取数据,也没有追上Leader的LEO,则Leader会该Replica移出ISR。

request.timeout.ms(默认值为30000)   

        该参数限制了客户端等待响应的最长时间,超过了这个时间,则客户端会重新发送请求。

unclean.leader.election.enable(默认值为false)

        是否允许非ISR的Replica参与竞选Leader。

zookeeper.connection.timeout.ms(默认值为null)

        等待与Zookeeper建立连接的最长时间。如果没有设置该参数,则使用zookeeper.session.timeout.ms参数指定的参数值。

zookeeper.session.timeout.ms(默认值为6000)  

        与Zookeeper建立连接的超时时间。

default.replication.factor(默认值为1)

        创建Topic时,默认的Replica数量。

num.partitions(默认值为1)

         创建Topic时,默认的分区数量。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 219,635评论 6 508
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,628评论 3 396
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 165,971评论 0 356
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,986评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,006评论 6 394
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,784评论 1 307
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,475评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,364评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,860评论 1 317
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,008评论 3 338
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,152评论 1 351
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,829评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,490评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,035评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,156评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,428评论 3 373
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,127评论 2 356

推荐阅读更多精彩内容