该文档对应的是 kafka安装目录/config/consumer.properties文件的内容,也是适用于java客户端。由于原英文版的文档从句太多太难理解,我花了四天时间翻译了一份中文文档,希望给大家带来帮助,有问题请留言。
可能网页显示不全,请下载附件PDF。
名称 |
描述 |
类型 |
默认值 |
可用值 |
重要性 |
bootstrap.servers |
用于建立初始化到kafka服务器连接的主机/端口的列表。客记端将使用所有服务器,不论哪些服务器在这里是用来引导的。这个列表只影响用来发现所有服务器集合的初始化主机。这个列表应当是以下形式 host1:port1,host2:port2,....因为这些服务器只用来初始化连接到发现所有的集群成员(有可能动态改变),这个列表没有必要包括所有的服务器集合(你想要多于一个,尽管,以防一台服务器已经挂了)。 |
列表 |
|
|
高 |
key.deserializer |
用于键的实现Deserializer接口的反系列化类 |
类 |
|
|
高 |
value.deserializer |
用于值的实现Deserializer接口的反系列化类 |
类 |
|
|
高 |
fetch.min.bytes |
服务器为每个读取请求返回的最小数据量。如果没有足够的数据可用,在响应请求之前请求会等待大量的数据积累。默认的设置为1字节意味着只要一个字节的数据可用或是读取请求在数据到达之前超时,读取请求就可以被响应。设置这个值比1大将导致服务器等待更大的数据积累,它可以很大的提高服务器的吞吐量,但是需要以额外的延时作为代价。 |
整型 |
1 |
[0,...] |
高 |
group.id |
一个惟一的字符,用来识别消费者所属的一个组。如果消费者通过订阅主题的方式使用组管理功能或是基于kafka偏移管理策略,那么这个属性是必须要设的。 |
字符 |
"" |
|
高 |
heartbeat.interval.ms |
使用组管理设施时,到消费者协调器的心跳之间的预期时间。心跳用于确保消费者的会话保持激活并且当一个新的消费者加入或离开组时促进重新平衡。这个值必须小于session.timeout.ms 的值,但通常应设置不高于该值的1/3 。为了正常的重新平衡它可以调整更低来控制预期时间。 |
整型 |
3000 |
|
高 |
max.partition.fetch.bytes |
服务器返回的每个分区数据的最大数量。记录被消费者批量读取。如果获取的第一个非空分区中的第一个记录批大于此限制,则仍将返回批处理,以确保消费者能够取得进展。broker接受的最大记录批次通过message.max.bytes(broker配置)或是 max.message.bytes (主题配置)。查看fetch.max.bytes来限制消费者请求大小。 |
整型 |
1048576 |
[0,...] |
高 |
session.timeout.ms |
在使用kafka组管理功能时用于检查消费者失败的超时时间。消费者发送周期性的心跳来指示其对broker的活跃度。如果在此会话超时之前没有心跳被broker接收,那么broker会将这个消费者从这个组中删除并初始化一个重平衡。注意这个值必须在允许的范围内,与在broker配置中用group.min.session.timeout.ms和group.max.session.timeout.ms设置的一样。 |
整型 |
10000 |
|
高 |
ssl.key.password |
在密钥存储文件的私钥的密码。这是客户端可选的。 |
密文 |
null |
|
高 |
ssl.keystore.location |
密钥存储文件的位置。这是客户端的可选项,可用于客户端的双向身份认证。 |
字符 |
null |
|
高 |
ssl.keystore.password |
密钥库文件的密码。这个对客户端是可选的并且只在 ssl.keystore.location被配置时需要。 |
密文 |
null |
|
高 |
ssl.truststore.location |
受信任证书库文件的位置。 |
字符 |
null |
|
高 |
ssl.truststore.password |
受信任证书库文件的密码。如果没有设置密码,那么信任存储区的访问仍然可用,但完整性检查被禁用。 |
密文 |
null |
|
高 |
auto.offset.reset |
当在kafka中没有初始化的偏移或当前的偏移不再存在(被删除)时该做什么: earliest:自动重置偏移到最早的偏移。latest: 自动重置偏移到最新的偏移。 none:抛出一个异常给消费者,如果消费者组找不到先前的偏移。 anything else:抛出一个异常给消费者。 |
字符 |
latest |
[latest, earliest, none] |
中 |
connections.max.idle.ms |
在这个配置的毫秒的数字之后会关闭空闲连接 |
长整型 |
540000 |
|
中 |
enable.auto.commit |
如果设置为true,消费者的偏移会在后台周期性的被提交。 |
布尔 |
TRUE |
|
中 |
exclude.internal.topics |
来自内部主题的记录(例如 offsets)是否应该暴露给消费者。如果设置为true,从一个内部的主题接收记录的惟一方式订阅它。 |
布尔 |
TRUE |
|
中 |
fetch.max.bytes |
服务器为每个读取请求返回的最大的数据量。记录被消费者按批次获取,如果获取的第一个非空分区中的第一个记录批大于这个值,任然将返回记录批次,以确保消费者能够取得进展。因此,这不是绝对最大值。被broker接受的最大记录批次大小通过message.max.bytes (broker 配置) 或 max.message.bytes (topic 配置)定义。注意消费者并行进行多个读取。 |
整型 |
52428800 |
[0,...] |
中 |
isolation.level |
控制着在事务下写入的消息是如何读取的。如果设置为read_committed, consumer.poll() 将会只返回被提交的事务性消息。如果被设置为read_uncommitted(默认), consumer.poll()将返回所有消息,甚至是已经退出事务的消息。无事务消息将会在任一模式无条件被返回。消息通常按偏移顺序被返回。在read_committed模式,consumer.poll()只将消息返回到最后一个稳定偏移量,它比第一个开启的事务中的偏移要少。特别的是,在属于正在进行的事务的消息之后出现的消息都会被拒绝直到相关的事务已经完成。
的消费 |
字符 |
read_uncommitted |
[read_committed, read_uncommitted] |
中 |
|
作为一个结果,当有正在进行的事务,设为 read_committed的消费者无法读到高水位。还有就是在read_committed模式时 seekToEnd方法会返回最后一个稳定偏移量。 |
|
|
|
|
max.poll.interval.ms |
使用消费者分组管理时poll()调用之间的最大延时。这就让消费者在读取更多记录之前的空闲在时间上有了一个上限。如果这poll()没有在这个过期时间内调用,消费者被认为是失败的并且分组会重平衡来重新分配分区给另外一个成员。 |
整型 |
300000 |
[1,...] |
中 |
max.poll.records |
在一次poll()调用时返回的最大记录数量。 |
整型 |
500 |
[1,...] |
中 |
partition.assignment.strategy |
当分组管理被使用时,在消费者中客户端用于分配分区所有者的分区分配策略的类名。 |
列表 |
class org.apache.kafka.clients.consumer.RangeAssignor |
|
中 |
receive.buffer.bytes |
接收数据时TCP接收的缓存 (SO_RCVBUF) 的大小。如果这个值被设置为-1,操作系统的默认值会被使用。 |
整型 |
65536 |
[-1,...] |
中 |
request.timeout.ms |
这个配置控制客户端等待请求响应的最大时间。在超时时间消逝之前如果没有收到响应,客户端在有必要的情况下将重发请求或是在重试耗尽后把请求置为失败。 |
整型 |
305000 |
[0,...] |
中 |
sasl.jaas.config |
JAAS(Java验证和授权API)配置文件使用的SASL(简单身份验证和安全层)连接的 JAAS登录上下文参数格式。JAAS配置文件格式在此被描述。这个格式的值为 ' (=)*;' |
密文 |
null |
|
中 |
sasl.kerberos.service.name |
kafka运行Kerberos的主名称。这个可以在Kafka的 JAAS中配置或是在Kafka的配置文件中运行。 |
字符 |
null |
|
中 |
sasl.mechanism |
用于客户端连接的简单身份验证和安全层机置。这可能是任何机构的安全提供商提供的。默认为通用安全服务应用程序接口 |
字符 |
GSSAPI |
|
中 |
security.protocol |
broker之间通信的协议,可用的值有:PLAINTEXT, SSL, SASL_PLAINTEXT, SASL_SSL. |
字符 |
PLAINTEXT |
|
中 |
send.buffer.bytes |
发送数据时TCP发送的缓存 (SO_SNDBUF) 的大小。如果这个值被设置为-1,操作系统的默认值会被使用。 |
整型 |
131072 |
[-1,...] |
中 |
ssl.enabled.protocols |
SSL连接的可用协议列表。 |
列表 |
TLSv1.2,TLSv1.1,TLSv1 |
|
中 |
ssl.keystore.type |
密钥库文件的格式,这是客户端的可选项。 |
字符 |
JKS |
|
中 |
ssl.protocol |
用来创建SSLContext的SSL协议。默认的设置为TLS,可以适用于大多数场合。在目前的JVM中允许的值有TLS, TLSv1.1 和 TLSv1.2. SSL,SSLv2 和SSLv3在老的JVM中支持,但它们由于已知的安全漏洞而不鼓励被使用。 |
字符 |
TLS |
|
中 |
ssl.provider |
用于SSL连接的安全提供商的名称。默认值为JVM的默认安全提供商。 |
字符 |
null |
|
中 |
ssl.truststore.type |
受信任库文件的文件格式。 |
字符 |
JKS |
|
中 |
auto.commit.interval.ms |
enable.auto.commit设置为true时,消费者偏移自动提交到kafka的以毫秒为单位的频率。 |
整型 |
5000 |
[0,...] |
低 |
check.crcs |
自动的消费记录的32位循环冗余校验。这个确保没有正在写的或是在磁盘上的数据没有损坏。这样的检查会增加一些开销,因此它可以在追求极限性能的情况下禁用。 |
布尔 |
TRUE |
|
低 |
client.id |
发送请求时传递给服务器的一个标识字符串。这样做的目的是能过追踪请求的来源除了除了IP/端口。它是通过允许一个逻辑应用名称被包括在一个服务器端的请求日志来实现的。 |
字符 |
"" |
|
低 |
fetch.max.wait.ms |
如果没有足够的数据马上满足fetch.min.bytes所要求的,在响应读取请求之前服务器将要阻塞的时间。 |
整型 |
500 |
[0,...] |
低 |
interceptor.classes |
用作拦截器的类的列表。实现ConsumerInterceptor 接口,在它们被发布到kafka集群之前,允许你拦截(可能修改)被消费者收到的记录。默认情况下是没有拦截器的。 |
列表 |
null |
|
低 |
metadata.max.age.ms |
我们强制刷新一个元数据后的毫秒时间段,即使我们没有看到任何分区领导者变为主动发现任何新的broker或分区。 |
长整型 |
300000 |
[0,...] |
低 |
metric.reporters |
用作度量报告者的类列表。实现了MetricReporter接口,允许加入会被通知到新的度量创建的类。JMX统计登记通常包括 JmxReporter |
列表 |
"" |
|
低 |
metrics.num.samples |
样品保持计算指标的数量。 |
整型 |
2 |
[1,...] |
低 |
metrics.recording.level |
度量的最高记录级别。 |
字符 |
INFO |
[INFO, DEBUG] |
低 |
metrics.sample.window.ms |
一个度量样本计算的时间窗口。 |
长整型 |
30000 |
[0,...] |
低 |
reconnect.backoff.max.ms |
当一个重复的失败连接重复连接到brokert等待的以毫秒计的最大时间量。如果已提供,每个主机的回退会因为连续的连接失败而指数级的增长,直到达到这个最大值。在计算回退增长后,20%的随机抖动被添加来避免连接风暴。 |
长整型 |
1000 |
[0,...] |
低 |
reconnect.backoff.ms |
尝试重新连接到一个给定的主机之前等待的最少时间。这避免了在一个密环里重复连接到一个主机。这个后退适用于客户端连接到broker所有尝试连接。 |
长整型 |
50 |
[0,...] |
低 |
retry.backoff.ms |
尝试重试请求到一个给定的主题分区之前等待的时间。这个避免在某些失败场景下的紧密循环中重复发送请求。 |
长整型 |
100 |
[0,...] |
低 |
sasl.kerberos.kinit.cmd |
Kerberos kinit 命令路径. |
字符 |
/usr/bin/kinit |
|
低 |
sasl.kerberos.min.time.before.relogin |
刷新尝试之间的线程休眠时间。 |
长整型 |
60000 |
|
低 |
sasl.kerberos.ticket.renew.jitter |
添加到更新时间的随机抖动的百分比。 |
双精度 |
0.05 |
|
低 |
sasl.kerberos.ticket.renew.window.factor |
登录线程将休眠,直到从最后刷新到票证到期的指定的时间窗口因子到达,此时它将尝试续订该票证。 |
双精度 |
0.8 |
|
低 |
ssl.cipher.suites |
加密套件列表。这是一个由认证,加密,MAC和用于协商使用TLS或SSL网络协议的网络连接的安全设置的密钥交换算法组合成的名称。 |
list |
null |
|
low |
ssl.endpoint.identification.algorithm |
使用服务器证书验证服务器主机名的端识别算法。 |
string |
null |
|
low |
ssl.keymanager.algorithm |
用于SSL连接的密钥管理工厂算法。默认情况下这个值是JVM中配置的用于SSL连接的密钥管理工厂算法 |
string |
SunX509 |
|
low |
ssl.secure.random.implementation |
用于SSL加密操作的SecureRandom的伪随机数产生算法。 |
string |
null |
|
low |
ssl.trustmanager.algorithm |
用于SSL连接的受信任管理器工厂算法。默认值是JVM中配置的用于SSL连接的受信任管理器工厂算法。 |
string |
PKIX |
|
low |
相关推荐
以下是根据提供的文件内容整理的Kafka生产者配置参数的知识点: 1. bootstrap.servers - 用途:配置生产者连接到Kafka集群的初始主机列表。 - 描述:这个列表只需包含一个或多个服务器,用于初始化连接和发现整个...
Apache Kafka是一个分布式流处理平台,它具备三个...综合来看,这份Kafka官方中文文档提供了一套全面的知识体系,详细介绍了Kafka的架构、使用、配置、操作和安全等各方面知识,是理解和掌握Kafka技术的重要参考文献。
Apache Kafka 官方文档中文版
对于Kafka的Topic配置参数,下面将详细讲解一些重要的参数。 1. cleanup.policy 这个参数用于指定日志段的清理策略。它接受"delete"或者"compact"作为值,分别表示删除策略和压缩策略。默认值为"delete",表示日志...
从这些内容来看,spring-kafka整合官方文档提供了全面的信息,涵盖了从基础的Kafka配置和消息处理,到复杂的事务管理和错误处理机制,再到Kafka Streams的支持。它旨在帮助开发者利用Spring的强大功能,简化Kafka在...
在配置方面,文档详细解析了Kafka集群的设置,如broker配置、日志管理、网络参数等,帮助管理员优化Kafka的性能和稳定性。此外,还涵盖了如何配置生产者和消费者,确保高效的数据传输和消费。 文档中还涵盖了Kafka...
【正文】 Kafka是一款高效的消息中间件,常用于大数据实时处理和流计算场景。本篇文档将详细介绍如何在Linux环境中搭建Kafka集群,同时结合...同时,通过合理配置参数,可以优化Kafka的性能,满足不同业务场景的需求。
KafkaConsumer的API和配置细节可以参考KafkaConsumer相关文档。消费者的迭代器会返回ConsumerRecords,这是简单命名元组,用于暴露基本消息属性,如topic、partition等。 开发者在使用kafka-python时需要注意版本...
Kafka参数配置详解 Kafka是一种流行的分布式流处理平台,用于构建实时数据管道和事件驱动的架构。为了确保Kafka集群的稳定运行和高性能,需要正确地配置Kafka参数。本文将详细介绍Kafka的参数配置,包括系统参数、...
在实际应用中,Kafka消费者需要配置与Kafka集群的连接参数,如broker地址、消费者组ID等。同时,为了运行此C++消费者,还需要确保protobuf和avro库已经正确安装,并添加到项目构建路径中。 总结来说,“kafka_...
标签:11、apache、kafka、kafka_2、jar包、java、API文档、中文版; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明...
Kafka是一个非常复杂且功能丰富的系统,上述只是对Kafka中文文档内容的一小部分概述。在实际使用过程中,需要根据实际场景进行详细的学习和配置,才能充分发挥Kafka在消息队列和事件流处理中的巨大优势。
### Kafka中文文档核心知识点 #### 一、Kafka概述 **Kafka** 是一款由 **Apache** 开发的开源流处理平台,它提供了一个统一、高吞吐量、低延迟的发布/订阅消息系统,特别适合处理实时数据流。Kafka 的设计灵感来源...
Kafka自学文档详细介绍了Apache Kafka,...文档覆盖了Kafka的基本概念、设计原理、主要配置选项、集群搭建方法以及消息传输机制等关键知识点。掌握了这些内容,可以让开发者更好地利用Kafka进行实时数据处理和流计算。
主题配置涉及到分区数量、副本因子等参数,如 `num.partitions`(分区数)、`replication.factor`(副本因子)等。 #### 3.3 Producer Configs 生产者配置主要包括消息发送策略、缓冲区大小等,如 `acks`(确认机制...
总的来说,Kafka文档中所涵盖的知识点非常丰富,既包括了Kafka的设计原理和架构细节,也包括了API使用和配置指导,以及大量的实际应用场景和案例分析。这些知识点为使用和管理Kafka集群提供了全面的理论基础和技术...
Kafka 配置调优实践是指通过调整 Kafka 集群的参数配置来提高其吞吐性能。下面是 Kafka 配置调优实践的知识点总结: 一、存储优化 * 数据目录优先存储到 XFS 文件系统或者 EXT4,避免使用 EXT3。 * 在挂载块设备时...