kafka参数配置说明

本文介绍了Kafka的全局配置属性和Topic配置属性,包括C/P共用的参数,帮助理解Kafka的配置设置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

C / P图例:C =消费者,P =生产者, =两者*

一、全局配置属性(CONF_GLOBAL)

属性C/P默认说明
builtin.features*指示此librdkafka构建的内置功能。应用程序可以查询此值,也可以尝试使用必需功能列表设置该值以检查是否支持库。
client.id*rdkafka客户标识符。
metadata.broker.list*经纪人的初始清单。该应用程序还可用于rd_kafka_brokers_add()在运行时添加代理。
bootstrap.servers*别名 metadata.broker.list
message.max.bytes*1000000最大发送消息大小。
receive.message.max.bytes*100000000最大接收消息大小。这是一项安全预防措施,可避免在协议初始化时内存耗尽。该值应至少为fetch.message.max.bytes *从+消息传递开销消耗的分区数(例如200000字节)。
metadata.request.timeout.ms*60000非主题请求超时(以毫秒为单位)。这用于元数据请求等。
topic.metadata.refresh.interval.ms*300000主题元数据刷新间隔(以毫秒为单位)。错误时元数据会自动刷新并连接。使用-1禁用间隔刷新。
topic.metadata.refresh.fast.cnt*10当主题失去其领导者时,将以topic.metadata.refresh.fast.interval.ms不考虑topic.metadata.refresh.interval.ms值的时间间隔发送此数量的元数据请求。这用于从过渡的领导经纪人中快速恢复。
topic.metadata.refresh.fast.interval.ms*250见topic.metadata.refresh.fast.cnt描述
topic.metadata.refresh.sparse*true稀疏的元数据请求(消耗更少的网络带宽)
topic.blacklist*主题黑名单,以逗号分隔的用于匹配主题名称的正则表达式列表,在代理元数据信息中应将其忽略,就好像主题不存在一样。
debug*要启用的调试上下文的逗号分隔列表:所有,通用,代理,主题,元数据,生产者,队列,msg,协议,cgrp,安全性,访存
socket.timeout.ms*60000网络请求超时。
socket.blocking.max.ms*100代理套接字操作可能阻塞的最长时间。较低的值会提高响应速度,但会占用稍高的CPU使用率。
socket.send.buffer.bytes*0代理套接字发送缓冲区的大小。如果为0,则使用系统默认值。
socket.receive.buffer.bytes*0代理套接字接收缓冲区的大小。如果为0,则使用系统默认值。
socket.keepalive.enable*false在代理套接字上启用TCP保持活动(SO_KEEPALIVE)
socket.max.fails*3当达到此发送失败次数(例如,超时请求)时,与代理断开连接。禁用0。注意:连接将自动重新建立。
broker.address.ttl*300000缓存代理地址解析结果的时间。
broker.address.family*any允许的代理IP地址系列:任意,v4,v6
statistics.interval.ms*0librdkafka统计信息发出间隔。应用程序还需要使用来注册统计信息回调rd_kafka_conf_set_stats_cb()。粒度为1000ms。值为0将禁用统计信息。
error_cb*错误回调(使用rd_kafka_conf_set_error_cb()设置)
throttle_cb*节流回调(通过rd_kafka_conf_set_throttle_cb()设置)
stats_cb*统计信息回调(使用rd_kafka_conf_set_stats_cb()设置)
log_cb*日志回调(使用rd_kafka_conf_set_log_cb()设置)
log_level*6日志记录级别(syslog(3)级别)
log.thread.name*false在日志消息中打印内部线程名称(用于调试librdkafka内部)
socket_cb*套接字创建回调以提供无竞争的CLOEXEC
open_cb*文件打开回调以提供无竞争的CLOEXEC
opaque*应用程序不透明(使用rd_kafka_conf_set_opaque()设置)
default_topic_conf*自动订阅主题的默认主题配置
internal.termination.signal*0表示librdkafka将用于在rd_kafka_destroy()上快速终止。如果未设置此信号,则由于内部线程使它们的系统调用超时,因此rd_kafka_wait_destroyed()返回true 之前会有一个延迟。如果设置了该信号,则延迟将最小。当安装了内部信号处理程序时,应用程序应屏蔽此信号。
quota.support.enable*false为生产和获取(消费)请求启用代理的节流时间的应用程序转发。每当返回的生产或获取请求的节流时间不为零(代理节流了该请求以强制执行已配置的配额率的时间)时,就会对下一次调用进行节流_cb入队rd_kafka_poll()。对于节流请求之后的第一个非节流请求,也是如此。需要启用配额的Kafka经纪人> = 0.9.0。
protocol.version*0代理协议版本。由于客户端无法知道代理使用的协议版本,因此无法知道用于某些协议请求的API版本。此属性用于提示代理版本的客户端。格式为0xMMmmrrpp,其中MM =主要,mm =次要,rr =修订,pp =补丁,例如0.000000200代表0.8.2。版本0表示一种乐观的方法,其中客户端假定支持最新版本的API。
security.protocol*plaintext用于与代理(brokers)通信的协议。
ssl.cipher.suites*密码套件是认证,加密,MAC和密钥交换算法的命名组合,用于协商使用TLS或SSL网络协议的网络连接的安全设置。请参见手册页,ciphers(1)以及`SSL_CTX_set_cipher_list(3)。
ssl.key.location*客户端用于身份验证的私钥(PEM)的路径。
ssl.key.password*私钥密码
ssl.certificate.location*验证代理密钥的证书文件的路径。
ssl.ca.location*CA证书的文件或目录路径,用于验证代理的密钥。
sasl.mechanisms*GSSAPI合格的SASL机制的空格分隔列表
sasl.kerberos.service.name*kafkaKafka运行时使用的Kerberos主体名称。
sasl.kerberos.principal*kafkaclientkafkaclient 该客户端的Kerberos主体名称。
sasl.kerberos.kinit.cmd*kinitKerberos kinit命令路径。
sasl.kerberos.keytab*Kerberos keytab文件的路径。如果未设置,则使用系统默认值。
sasl.kerberos.min.time.before.relogin*60000两次按键刷新之间的最短时间(以毫秒为单位)。
group.id*客户端组ID字符串。共享相同group.id的所有客户端都属于同一组。
partition.assignment.strategy*range,roundrobin当选组长将分区分配给组成员时要使用的分区分配策略的名称。
session.timeout.ms*30000客户端组会话和故障检测超时。
heartbeat.interval.ms*1000小组会议keepalive心跳间隔。
group.protocol.type*consumer组协议类型
coordinator.query.interval.ms*600000查询当前客户组协调员的频率。如果当前分配的协调器关闭,则在重新分配协调器的情况下,配置的查询间隔将被除以十以更快地恢复。
enable.auto.commitCtrue自动并定期在后台提交偏移量。
auto.commit.interval.msC5000消费者偏移量被提交(写入)到偏移量存储的频率(以毫秒为单位)。(0 =禁用)
queued.min.messagesC100000本地使用者队列中每个主题+分区的最小消息数。
queued.max.messages.kbytesC1000000本地使用者队列中每个主题+分区的最大千字节数。该值可能被fetch.message.max.bytes覆盖。
fetch.wait.max.msC100代理可以等待的最长时间,以fetch.min.bytes填充响应。
fetch.message.max.bytesC1048576从代理中获取消息时,每个主题+分区要请求的最大字节数。
max.partition.fetch.bytesC别名 fetch.message.max.bytes
fetch.min.bytesC1代理响应的最小字节数。如果fetch.wait.max.ms过期,则无论此设置如何,累积的数据都会发送到客户端。
fetch.error.backoff.msC500万一发生提取错误,将下一个主题+分区的下一个提取请求推迟多少时间。
offset.store.methodCbroker偏移提交存储方法:‘file’-本地文件存储(offset.store.path等),‘broker’-代理提交存储(在代理上需要Apache Kafka 0.8.2或更高版本)。
consume_cbC消息消耗回调(使用rd_kafka_conf_set_consume_cb()设置)
rebalance_cbC在消费组重新平衡后调用(使用rd_kafka_conf_set_rebalance_cb()设置)
offset_commit_cbC偏移提交结果传播回调。(使用rd_kafka_conf_set_offset_commit_cb()设置)
queue.buffering.max.messagesP100000生产者队列上允许的最大消息数。
queue.buffering.max.msP1000在生产者队列上缓冲数据的最长时间(以毫秒为单位)。
message.send.max.retriesP2重试发送失败的MessageSet的次数。注意:重试可能会导致重新排序。
retry.backoff.msP100重试消息发送之前的退避时间(以毫秒为单位)。
compression.codecPnone用于压缩消息集的压缩编解码器:none,gzip或snappy
batch.num.messagesP1000一个MessageSet中批处理的最大消息数。
delivery.report.only.errorPfalse仅提供失败消息的传递报告。
dr_cbP传递报告回调(使用rd_kafka_conf_set_dr_cb()设置)
dr_msg_cbP传递报告回调(使用rd_kafka_conf_set_dr_msg_cb()设置)

二、Topic配置属性(CONF_TOPIC)

属性C/P默认说明
request.required.acksP1该字段指示在响应请求之前,领导者经纪人必须从ISR经纪人收到多少确认:0 =经纪人未发送任何响应,1 =经纪人将等待数据写入本地日志后再发送响应,* -1 * =代理将阻塞,直到所有同步副本(ISR)或代理的in.sync.replicas设置提交消息,然后再发送响应。1 =仅领导经纪人需要确认该消息。
request.timeout.msP5000生产者请求的确认超时(以毫秒为单位)。此值仅由代理强制执行,并且依赖于request.required.acks> 0。
message.timeout.msP300000本地消息超时。此值仅在本地强制执行,并限制生成的消息等待成功传递的时间。0的时间是无限的。
produce.offset.reportPfalse将产生的消息的偏移量报告给应用程序。该应用程序必须使用dr_msg_cb来检索的偏移量rd_kafka_message_t.offset。
partitioner_cbP分区程序回调(使用rd_kafka_topic_conf_set_partitioner_cb()设置)
opaque*应用程序不透明(使用rd_kafka_topic_conf_set_opaque()设置)
compression.codecPinherit用于压缩消息集的压缩编解码器:none,gzip或snappy
auto.commit.enableCtrue如果为true,则定期提交传递给应用程序的最后一条消息的偏移量。当进程重新启动以从其上次中断的地方开始时,将使用此提交的偏移量。如果为false,则应用程序将必须调用rd_kafka_offset_store()以存储偏移量(可选)。注意:当前没有Zookeeper集成,偏移量将根据offset.store.method写入代理或本地文件。
enable.auto.commitC别名 auto.commit.enable
auto.commit.interval.msC60000消费者偏移量被提交(写入)到偏移量存储的频率(以毫秒为单位)。
auto.offset.resetClargest当偏移量存储中没有初始偏移量或所需偏移量超出范围时采取的措施: ‘smallest’,‘earliest’-自动将偏移量重置为最小偏移量, ‘largest’,‘latest’ -自动重置偏移量到最大偏移量“错误”-触发错误,该错误通过使用消息并检查“消息->错误”来检索。
offset.store.pathC.用于存储偏移量的本地文件的路径。如果路径是目录,则将根据主题和分区在该目录中自动生成文件名。
offset.store.sync.interval.msC-1fsync()偏移文件的间隔,以毫秒为单位。每次写入后,使用-1禁用同步,使用0进行立即同步。
offset.store.methodCbroker偏移提交存储方法:‘file’-本地文件存储(offset.store.path等),‘broker’-代理提交存储(在代理上需要Apache Kafka 0.8.2或更高版本)。
consume.callback.max.messagesC0一个rd_kafka_consume_callback*()呼叫中要发送的最大消息数(0 =无限)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值