【Kafka官方文档翻译】5.3.1. Broker Configs

原文地址:https://kafka.apache.org/0101/documentation.html#brokerconfigs

基本配置如下:

  • broker.id
  • log.dirs
  • zookeeper.connect
      Topic 级别的配置和默认值将在下面进行更详细的讨论。
配置项 描述 值的类型 默认值 有效值 重要级别
zookeeper.connect ZooKeeper 主机地址 string
advertised.host.name 已废弃:仅在没有设置advertised.listenerslisteners时使用。使用advertised.listeners 替代。供客户端使用的发布到 ZooKeeper 上的主机名。在IaaS环境中,这可能需要与代理服务器绑定到的接口不同。如果没有设置,它将使用host.name的值。 否则它将使用从java.net.InetAddress.getCanonicalHostName()返回的值。 string null
advertised.listeners 供客户端使用的发布到 ZooKeeper 上的监听器。在IaaS环境中,这可能需要与代理绑定到的接口不同。 如果没有设置,将使用listeners的值。 string null
advertised.port 已废弃:仅在没有设置advertised.listenerslisteners时使用。使用advertised.listeners替代。供客户端使用发布到 ZooKeeper 上的端口号。在IaaS环境中,这可能需要与代理服务器绑定到的端口不同。 如果没有设置,它将发布与该代理服务器绑定的相同的端口。 int null
auto.create.topics.enable 开启在服务器自动创建 topic boolean true
auto.leader.rebalance.enable 启用 leader 均衡。 如果需要,后台线程会定期检查并触发 leader 均衡 boolean true
background.threads 用于各种后台处理任务的线程数 int 10 [1,...]
broker.id 该服务器的代理ID。 如果未设置,将生成唯一的代理ID。为了避免zookeeper生成的代理ID和用户配置的代理ID之间的冲突,请从 reserved.broker.max.id + 1生成代理 idsstart。 int -1
compression.type 指定给定 topic 的最终压缩类型。此配置接受标准压缩编解码器('gzip','snappy','lz4')。 它还接受相当于没有压缩的'uncompressed' 和'producer',这意味着保留由制作者设置的原始压缩编解码器。 string producer
delete.topic.enable 启用删除 topic,如果此配置已关闭,通过管理工具删除 topic 将无效 boolean false
host.name 已废弃,只有当listeners没设置时才有效,使用listeners替代,broker 主机名,如果设置这项,它将只绑定到这个地址。 如果未设置,将绑定到所有接口 string ""
leader.imbalance.check.interval.seconds 控制器触发分区重新均衡检查的频率 long 300
leader.imbalance.per.broker.percentage 每个 broker 允许 leader 不均衡的比例,如果每个 leader 超过该值,控制器将触发 leader 均衡。该值以百分比指定。 int 10
listeners 监听器列表,用 URI 及其端口用逗号分隔,指定主机名为0.0.0.0绑定到所有接口。 将主机名留空以绑定到默认界面。 合法监听器列表示例:PLAINTEXT:// myhost:9092,TRACE://:9091 PLAINTEXT://0.0.0.0:9092,TRACE:// localhost:9093 string null
log.dir 保存日志数据的目录(log.dirs属性的补充) string /tmp/kafka-logs
log.dirs 保存日志数据的目录。 如果未设置,则使用log.dir中的值 string null
log.flush.interval.messages 消息被刷新到磁盘之前在日志分区上累积的消息数 long 9223372036854775807 [1,...]
log.flush.interval.ms 任何 topic 中的消息在刷新到磁盘之前保存在内存中的最长时间(毫秒)。 如果未设置,则使用log.flush.scheduler.interval.ms中的值 long null
log.flush.offset.checkpoint.interval.ms 更新作为日志恢复点的上次刷新的持久记录的频率 int 60000 [0,...]
log.flush.scheduler.interval.ms 日志刷新程序检查是否需要将任何日志刷新到磁盘的以ms为单位的频率 long 9223372036854775807
log.retention.bytes 删除之前日志的最大大小 long -1
log.retention.hours 在删除之前保留日志文件的小时数(以小时为单位),第三级到log.retention.ms属性 int 168
log.retention.minutes 在删除之前保留日志文件的分钟数(以分钟为单位),次于log.retention.ms属性。 如果未设置,则使用log.retention.hours中的值 int null
log.retention.ms 删除之前保留日志文件的毫秒数(以毫秒为单位)如果未设置,则使用log.retention.minutes中的值 long null
log.roll.hours 在新的日志段推出之前的最长时间(以小时为单位),次于log.roll.ms属性 int 168 [1,...]
log.roll.jitter.hours 从logRollTimeMillis(以小时为单位)减去最大抖动,次要为log.roll.jitter.ms属性 int 0 [0,...]
log.roll.jitter.ms 从logRollTimeMillis(以毫秒为单位)减去最大抖动。 如果未设置,则使用log.roll.jitter.hours中的值 long null
log.roll.ms 新日志段推出之前的最长时间(以毫秒为单位)。 如果未设置,则使用log.roll.hours中的值 long null
log.segment.bytes 单个日志文件的最大大小 int 1073741824 [14,...]
log.segment.delete.delay.ms 从文件系统中删除文件之前等待的时间 long 60000 [0,...]
message.max.bytes 服务器可以接收的消息的最大大小 int 1000012 [0,...]
min.insync.replicas 当生产者将acks设置为“all”(或“-1”)时,min.insync.replicas指定必须确认写入被认为是成功的最小副本数。 如果此最小值不能满足,则生产者将引发异常(NotEnoughReplicas或NotEnoughReplicasAfterAppend)。当一起使用时,min.insync.replicas和acks允许您强制更大的耐用性保证。 典型的情况是创建一个复制因子为3的主题,将min.insync.replicas设置为2,并使用“all”的acks生成。 如果大多数副本没有收到写入,这将确保生产者引发异常。 int 1 [1,...]
num.io.threads 服务器用于执行网络请求的io线程数 int 8 [1,...]
num.network.threads 服务器用于处理网络请求的网络线程数 int 3 [1,...]
num.recovery.threads.per.data.dir 每个数据目录用于启动时的日志恢复和关机时的刷新的线程数 int 1 [1,...]
num.replica.fetchers 用于从源broker复制消息的抓取器线程数。增加这个值可以增加broker的I / O并行度。 int 1
offset.metadata.max.bytes 与偏移提交相关联的元数据条目的最大大小 int 4096
offsets.commit.required.acks 在提交之前所需的acks可以被接受。 一般来说,默认值(-1)不应该被重写 short -1
offsets.commit.timeout.ms 偏移提交将被延迟,直到所有偏移主题的副本接收到提交或达到此超时。 这与生产者请求超时相似。 int 5000 [1,...]
offsets.load.buffer.size 当将偏移量加载到缓存中时,从偏移片段读取的批量大小。 int 5242880 [1,...]
offsets.retention.check.interval.ms 检查失效偏移量的频率 long 600000 [1,...]
offsets.retention.minutes 日志保留窗口在几分钟内用于补偿主题 int 1440 [1,...]
offsets.topic.compression.codec 用于偏移主题的压缩编解码器 - 压缩可用于实现“原子”提交 int 0
offsets.topic.num.partitions 偏移提交主题的分区数(部署后不应更改) int 50 [1,...]
offsets.topic.replication.factor 偏移主题的复制因子(设置得更高以确保可用性)。 为了确保偏移主题的有效复制因子是配置的值,活动经纪人的数量必须至少为首次请求偏移主题时的复制因子。 如果没有,则偏移主题创建将失败,否则将获得最小复制因子(活着的经纪人,配置的复制因子) short 3 [1,...]
offsets.topic.segment.bytes 偏移主题段字节应保持相对较小,以便于更快的日志压缩和缓存加载 int 104857600 [1,...]
port 已废弃:listeners替代,端口监听和接受连接 int 9092
queued.max.requests 阻塞网络线程之前允许的排队请求数 int 500 [1,...]
quota.consumer.default 已废弃:仅当动态默认配额未配置为或在Zookeeper中时使用。 由clientId / consumer group区分的任何消费者如果每秒钟获取的字节数超过此值,将会受到限制 long 9223372036854775807 [1,...]
quota.producer.default 已废弃:仅在没有为Zookeeper配置动态默认配额时使用。 任何由clientId区分的生产者如果每秒生成的字节数大于此值,将会被限制 long 9223372036854775807 [1,...]
replica.fetch.min.bytes 每个提取响应的最小字节数。 如果没有足够的字节,请等待replicaMaxWaitTimeMs int 1
replica.fetch.wait.max.ms 由追随者副本发出的每个提取器请求的最大等待时间。 此值应始终小于replica.lag.time.max.ms,以防止低吞吐量主题的ISR频繁收缩 int 500
replica.high.watermark.checkpoint.interval.ms 将高水印保存到磁盘的频率 long 5000
replica.lag.time.max.ms 如果追随者至少没有发送任何提取请求或尚未消耗到领导日志结束偏移量,则领导者将从isr中删除跟随者 long 10000
replica.socket.receive.buffer.bytes 套接字接收缓冲区用于网络请求 int 65536
replica.socket.timeout.ms 网络请求的套接字超时。 其值应至少为replica.fetch.wait.max.ms int 30000
request.timeout.ms 配置控制客户端等待请求响应的最长时间。 如果在超时之前未收到响应,客户端将在必要时重新发送请求,如果重试耗尽则客户端将重新发送请求。 int 30000
socket.receive.buffer.bytes 套接字服务器套接字的SO_RCVBUF缓冲区。 如果值为-1,则将使用OS默认值。 int 102400
socket.request.max.bytes 套接字请求中的最大字节数 int 104857600 [1,...]
socket.send.buffer.bytes 套接字服务器套接字的SO_SNDBUF缓冲区。 如果值为-1,则将使用OS默认值。 int 102400
unclean.leader.election.enable 指示是否启用不在ISR集中的副本作为最后手段选举为领导者,即使这样做可能会导致数据丢失 boolean true
zookeeper.connection.timeout.ms 客户端等待建立与zookeeper的连接的最长时间。 如果未设置,则使用zookeeper.session.timeout.ms中的值 int null
zookeeper.session.timeout.ms Zookeeper会话超时 int 6000
zookeeper.set.acl Set client to use secure ACLs boolean false
broker.id.generation.enable 在服务器上启用自动broker ID生成。 当启用时,应检查为reserved.broker.max.id配置的值。 boolean true

更多关于 broker 的配置信息可以在类 kafka.server.KafkaConfig 中找到。
  topic 级别的配置有服务器的默认值,同时每个 topic 也可以重写。如果每个 topic 没有重写将使用服务端的默认值。可以通过一个或多个 --config 选项来在 topic 创建时对属性进行设置。下面的例子创建了一个叫 my-topic 的 topic 同时设置了最大消息大小和刷新速率:

> bin/kafka-topics.sh --zookeeper localhost:2181 --create --topic my-topic --partitions 1
          --replication-factor 1 --config max.message.bytes=64000 --config flush.messages=1

属性也可以使用alter configs命令在以后更改或设置。下面的例子更新 topic 为 my-topic 的最大消息大小:

> bin/kafka-configs.sh --zookeeper localhost:2181 --entity-type topics --entity-name my-topic --alter --add-config max.message.bytes=128000

查看 topic 的配置可以通过下面的方式:

> bin/kafka-configs.sh --zookeeper localhost:2181 --entity-type topics --entity-name my-topic --describe

删除一个配置可以通过下面的方式:

> bin/kafka-configs.sh --zookeeper localhost:2181  --entity-type topics --entity-name my-topic --alter --delete-config max.message.bytes

以下是主题级配置。 该属性的服务器的默认配置在“服务器默认属性”标题下给出。 给定的服务器默认配置值只适用于主题,如果它没有显式的主题配置覆盖。

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

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,637评论 18 139
  • Design 1. Motivation 我们设计Kafka用来作为统一的平台来处理大公司可能拥有的所有实时数据源...
    BlackManba_24阅读 1,361评论 0 8
  • kafka的定义:是一个分布式消息系统,由LinkedIn使用Scala编写,用作LinkedIn的活动流(Act...
    时待吾阅读 5,311评论 1 15
  • Kafka入门经典教程-Kafka-about云开发 http://www.aboutyun.com/threa...
    葡萄喃喃呓语阅读 10,812评论 4 54
  • 一、入门1、简介Kafka is a distributed,partitioned,replicated com...
    HxLiang阅读 3,345评论 0 9