该文档对应的是 kafka安装目录/config/server.properties 文件中的broker部份的内容。由于原英文版的文档从句太多太难理解,我花了四天时间翻译了一份中文文档,希望给大家带来帮助,有问题请留言。
可能网页显示不全,请下载PDF
名称 |
描述 |
类型 |
默认值 |
可用值 |
重要性 |
zookeeper.connect |
zookeeper主机名。 |
字符 |
|
|
重要 |
advertised.host.name |
已弃用:仅当`advertised.listeners` 或 `listeners` 没有设置时使用。使用`advertised.listeners`来替代。用来为主机名发布到Zookeeper给客户端使用。在IaaS环境中,这个需要与broker绑定的接口不同。如果这个没有设置,它会使用host.name的值如果这个值被配置过。除此之外,它会使用java.net.InetAddress.getCanonicalHostName()的返回值。 |
字符 |
|
|
高 |
advertised.listeners |
发布到ZooKeeper给客户端使用的监听器,如果与上述的监听器不同。在IaaS环境中,这个需要与broker绑定的接口不同。如果这个没有设置,将会使用 `listeners` 的值。 |
字符 |
|
|
高 |
advertised.port |
已弃用:仅当`advertised.listeners` 或 `listeners` 没有设置时使用。使用`advertised.listeners`来替代。发布到Zookeeper给客户端使用的端口。在IaaS环境中,这个需要与broker绑定的接口不同。如果这个没有设置,它会发布broker绑定的端口。 |
整型 |
|
|
高 |
auto.create.topics.enable |
开启服务器端自动创建主题。 |
布尔 |
TRUE |
|
高 |
auto.leader.rebalance.enable |
开启leader自动选举。如果它被要求为有规率的间隔,会有一个后台线程用来检查和触发leader选举。 |
布尔 |
TRUE |
|
高 |
background.threads |
各种后台处理任务使用的线程数量。 |
整型 |
10 |
[1,...] |
高 |
broker.id |
服务器的broker标识。如果没有设置,一个惟一的标识会被创建。为了避免Zookeeper创建的标识与用户配置的标识产生冲突,自动创建的broker标识从 reserved.broker.max.id + 1开始。 |
整型 |
-1 |
|
高 |
compression.type |
为给定的主题指定最终的压缩类型。这个配置接受标准的压缩代码 ('gzip', 'snappy', ‘lz4’)。额外接受 ‘uncompressed’,等同于no compression;并且’producer’代表通过producer保持原始的压缩代码集。 |
字符 |
producer |
|
高 |
delete.topic.enable |
启用删除主题。如果这个配置为off通过管理工具删除主题会失效。 |
布尔 |
FALSE |
|
高 |
host.name |
已弃用:当且仅当 `listeners` 没有设置时使用。使用listeners来代替这个参数。broker主机的名称。如果这个值被设置,它将只会绑定这个地址。如果它没有被设置,它会绑定所有的接口。 |
字符 |
“” |
|
高 |
leader.imbalance.check.interval.seconds |
控制器触发的分区重平衡检查频率。 |
长整型 |
300 |
|
高 |
leader.imbalance.per.broker.percentage |
每个broker允许的leader不平衡比例。如果每个broker的这个值超过设定的值,控制器会触发 leader平衡。 |
整型 |
10 |
|
高 |
listeners |
监听器列表,我们将用来监听的用逗号分隔的URI和监听器名称列表。如果监器的名称不是一个安全的协议,listener.security.protocol.map也必须设置。指定主机名为0.0.0.0来绑定所有的接口。让主机名为空来绑定到默认的接口。合法的监听器列表样例: PLAINTEXT://myhost:9092,SSL://:9091 CLIENT://0.0.0.0:9092,REPLICATION://localhost:9093 |
字符 |
null |
|
高 |
log.dir |
日志文件保存的目录(log.dirs属性的补充) |
字符 |
/tmp/kafka-logs |
|
高 |
log.dirs |
日志文件保存的目录集合。如果没有设置log.dir会被使用 |
字符 |
null |
|
高 |
log.flush.interval.messages |
在消息被写入到磁盘之前在一个日志分区上累积的消息的数量 |
长整型 |
9223372036854775807 |
[1,...] |
高 |
log.flush.interval.ms |
任何保存在内存里的主题中的消息,在写入磁盘之前所需要的最大时间,以毫秒计算。如果没有设置,log.flush.scheduler.interval.ms属性的值将被使用 |
长整型 |
null |
|
高 |
log.flush.offset.checkpoint.interval.ms |
最后刷新的久化记录的更新频率,就像日志的还原点 |
整型 |
60000 |
[0,...] |
高 |
log.flush.scheduler.interval.ms |
日志刷新器检查是否有日志需要刷新到磁盘的频率,以毫秒计算。 |
长整型 |
9223372036854775807 |
|
高 |
log.flush.start.offset.checkpoint.interval.ms |
日志开始偏移量的持久化记录的更新频率 |
整型 |
60000 |
[0,...] |
高 |
log.retention.bytes |
日志在删除之前的最大容量,也就是超出此数量的日志会被删除 |
长整型 |
-1 |
|
高 |
log.retention.hours |
在被删除之前保存日志文件的小时时长。 |
整型 |
168 |
|
高 |
log.retention.minutes |
在被删除之前保存日志文件的分钟时长。如果没有被设置,log.retention.hours的值会被使用 |
整型 |
null |
|
高 |
log.retention.ms |
在被删除之前保存日志文件的毫秒时长。如果没有被设置, log.retention.minutes的值会被使用 |
长整型 |
null |
|
高 |
log.roll.hours |
一个新的日志段在被展开之前的最大小时数 |
整型 |
168 |
[1,...] |
高 |
log.roll.jitter.hours |
logRollTimeMillis减少的最大抖动(以小时为单位)。log.roll.jitter.ms属性的第二候选。 |
整型 |
0 |
[0,...] |
高 |
log.roll.jitter.ms |
logRollTimeMillis减少的最大抖动(以毫秒为单位)。如果没有设置,log.roll.jitter.hours的值将会被使用。 |
长整型 |
null |
|
高 |
log.roll.ms |
一个新的日志段在被展开之前的最大毫秒数,如果这个属性没有被设置,将使用 log.roll.hours |
长整型 |
null |
|
高 |
log.segment.bytes |
单个log文件的最大容量 |
整型 |
1073741824 |
[14,...] |
高 |
log.segment.delete.delay.ms |
从文件系统中删除一个文件之前的延时时间 |
长整型 |
60000 |
[0,...] |
高 |
message.max.bytes |
kafka允许的最大的记录批量大小。如果这是增大的并且有比0.10.2版本更老的消费者,那么消费者的获取数量也必须也是增大的以便他们可以获取这个大小的记录批次。 在最新的消息格式版本中,记录往往是按批次分组的,这样更高效。在之前的消息格式版本中,未压缩的记录并没有按批次分组,并且在那种情况下这个限制仅适用于一个单记录。 这个可以为每个主题设置max.message.bytes 配置。
|
整型 |
1000012 |
[0,...] |
高 |
min.insync.replicas |
当一个生产者把 acks设置为all (或是-1)时,min.insync.replicas 指定了副本的最小数量,这个副本对一次成功的写入必须要告之对方已收到。如果不能满足这个最小值,那么生产者会抛出一个异常(NotEnoughReplicas 或 NotEnoughReplicasAfterAppend)。当min.insync.replicas 和acks一起使用时,可以让有更大的耐久性保证。 一个典型的情况是用3个复制因子创建主题,设置min.insync.replicas 为2,并且生产者的acks设为all。这个样会保证生产者的一个主要副本收不到写入时会抛出一个异常。 |
整型 |
1 |
[1,...] |
高 |
num.io.threads |
服务器用来处理请求的线程数量,包括了磁盘的读写。 |
整型 |
8 |
[1,...] |
高 |
num.network.threads |
服务器用来从网络接收请求或是向网络发送响应的线程数量。 |
整型 |
3 |
[1,...] |
高 |
num.recovery.threads.per.data.dir |
每个数据目录用来启动时日志恢复和关闭时刷新的线程数量。 |
整型 |
1 |
[1,...] |
高 |
num.replica.fetchers |
用来从一个源broker中复制消息的读取器线程数量。增加这个数值会增加磁盘读写的并发程度。 |
整型 |
1 |
|
高 |
offset.metadata.max.bytes |
与一个偏移量提交有关的元数据入口的大小的最大值 |
整型 |
4096 |
|
高 |
offsets.commit.required.acks |
提交被接受之前必要的acks。通常情况下,默认值(-1)不应该被修改。 |
短整型 |
-1 |
|
高 |
offsets.commit.timeout.ms |
偏移提交将被延迟到偏移主题的所有副本收提交或超时为止。这是类似于生产者请求超时。 |
整型 |
5000 |
[1,...] |
高 |
offsets.load.buffer.size |
加载偏移量到缓存时,从偏移量片段读取的批次大小。 |
整型 |
5242880 |
[1,...] |
高 |
offsets.retention.check.interval.ms |
检查旧的偏移量的频率 |
长整型 |
600000 |
[1,...] |
高 |
offsets.retention.minutes |
以分钟为单位的偏移主题日志保留窗口 |
整型 |
1440 |
[1,...] |
高 |
offsets.topic.compression.codec |
偏移主题的压缩编码器,压缩可用来实现原子提交。 |
整型 |
0 |
|
高 |
offsets.topic.num.partitions |
偏移量提交主题分区的数量(部署后不可改变) |
整型 |
50 |
[1,...] |
高 |
offsets.topic.replication.factor |
偏移主题的复制因子(设置高一点来确保可用性)。内部的主题创建会失败除非集群的大小满足这个复制因子要求的大小。 |
短整型 |
3 |
[1,...] |
高 |
offsets.topic.segment.bytes |
偏移主题的片段字节数量应该保持相对的小,以便于更快的日志压缩和缓存加载。 |
整型 |
104857600 |
[1,...] |
高 |
port |
已弃用:当 `listeners` 没有设置时使用。使用`listeners`来替代。用来监听和接受连接。 |
整型 |
9092 |
|
高 |
queued.max.requests |
网络线程被阻塞之前允许的请求队列的大小。 |
整型 |
500 |
[1,...] |
高 |
quota.consumer.default |
已弃用:仅在Zookeeper动态默认配额没有被配置时使用。任何通过客户端标识或消费者组来区分的消费者将会受到限制,如果它每秒获取的字节数多于此属性设置的值。 |
长整型 |
9223372036854775807 |
[1,...] |
高 |
quota.producer.default |
已弃用:仅在Zookeeper动态默认配额没有被配置时使用。任何通过客户端标识来区分的生产者将会受到限制,如果它每秒产生的字节数多于此属性设置的值。 |
长整型 |
9223372036854775807 |
[1,...] |
高 |
replica.fetch.min.bytes |
获取响应的期望的最小字节数。如果没有足够的字节,等待replicaMaxWaitTimeMs |
整型 |
1 |
|
高 |
replica.fetch.wait.max.ms |
为跟随副本发布的每个读取器请求设置最大等待时长。这个值应该一直比replica.lag.time.max.ms的值小,以免ISR因为低吞吐量主题而频繁收缩。 |
整型 |
500 |
|
高 |
replica.high.watermark.checkpoint.interval.ms |
保存到磁盘的高水位标记的频率 |
长整型 |
5000 |
|
高 |
replica.lag.time.max.ms |
如果一个跟随者没有发送任何读取请求或此时没有消息达到领导者日志结尾偏移量,领导者将跟随者从ISR中移除 |
长整型 |
10000 |
|
高 |
replica.socket.receive.buffer.bytes |
网络请求套接字接收缓存 |
整型 |
65536 |
|
高 |
replica.socket.timeout.ms |
网络请求套接字超时时间。它的值应不能小于replica.fetch.wait.max.ms的值 |
整型 |
30000 |
|
高 |
request.timeout.ms |
这个配置控制了客户端一个请求等待响应的最大时间。如果已经超时了却没有收到响应,如有必要客户端会重新发送请求或是当重试耗尽时请求失败。 |
整型 |
30000 |
|
高 |
socket.receive.buffer.bytes |
套接字接收缓存,如果值是-1那么 OS默认值会被使用。 |
整型 |
102400 |
|
高 |
socket.request.max.bytes |
套接字请求的最大字节数 |
整型 |
104857600 |
[1,...] |
高 |
socket.send.buffer.bytes |
套接字发送缓存,如果值是-1那么 OS默认值会被使用。 |
整型 |
102400 |
|
高 |
transaction.max.timeout.ms |
事务允许的最大超时时间。如果客户端的请求事务时间超过这个,那么broker会在InitProducerIdRequest中返回一个错误。这避免了一个客户端遇到大的超时。这些超时会拖延客户端读取事务中的主题。 |
整型 |
900000 |
[1,...] |
高 |
transaction.state.log.load.buffer.size |
加载生产者标识和事务到缓存时从日志片段上的事务读取的批次大小。 |
整型 |
5242880 |
[1,...] |
高 |
transaction.state.log.min.isr |
为事务主题重写min.insync.replicas属性 |
整型 |
2 |
[1,...] |
高 |
transaction.state.log.num.partitions |
事务主题的分区数量(部署后不能更改) |
整型 |
50 |
[1,...] |
高 |
transaction.state.log.replication.factor |
事务主题的复制因子(设置高一点确保可用)。内部的主题创建会失败除非集群大小满足这个复制因子要求的大小。 |
短整型 |
3 |
[1,...] |
高 |
transaction.state.log.segment.bytes |
事务主题片段字节数量应当尽量小以便于促使更快的日志压缩和缓存加载。 |
整型 |
104857600 |
[1,...] |
高 |
transactional.id.expiration.ms |
事务协调器在没有从生产者接收到任何事务状态更新时,主动使生产者事务标识过期之前等待的最大时长。 |
整型 |
604800000 |
[1,...] |
高 |
unclean.leader.election.enable |
指示是否启用不在ISR里的副本设置为选举为领导者作为最后的方案,即使这样做可能导致数据丢失。 |
布尔 |
FALSE |
|
高 |
zookeeper.connection.timeout.ms |
客户端建立到zookeeper的连接等待的最长时间。如果没有设置,这个zookeeper.session.timeout.ms值会被使用。 |
整型 |
null |
|
高 |
zookeeper.session.timeout.ms |
zookeeper会话超时时间 |
整型 |
6000 |
|
高 |
zookeeper.set.acl |
设置客户端使用安全的方问控制列表。 |
布尔 |
FALSE |
|
高 |
broker.id.generation.enable |
启用服务器上的自动broker标识创建。开启后应当检查为reserved.broker.max.id配置的值。 |
布尔 |
TRUE |
|
中 |
broker.rack |
broker机架。为容错将用在机架感知复制分配。例如: `RACK1`, `us-east-1d` |
字符 |
null |
|
中 |
connections.max.idle.ms |
空闲的连接超时时间:如果空闲的连接数超过这个数,服务器套接字处理线程会关掉多余的线程。 |
长整型 |
600000 |
|
中 |
controlled.shutdown.enable |
启用服务器的受控关机 |
布尔 |
TRUE |
|
中 |
controlled.shutdown.max.retries |
受控的关机可因为多种原因失败。这个配置决定了当这样的失败发生时重试的次数。 |
整型 |
3 |
|
中 |
controlled.shutdown.retry.backoff.ms |
在每次重试之前,系统需要时间从之前导致失败的状态中恢复(控制器故障切换,复制滞后等)。这个配置决定了重试之前等待的时间。 |
长整型 |
5000 |
|
中 |
controller.socket.timeout.ms |
控制器到broker频道的套接字超时时间。 |
整型 |
30000 |
|
中 |
default.replication.factor |
为自动创建主题设置的默认复制因子。 |
整型 |
1 |
|
中 |
delete.records.purgatory.purge.interval.requests |
需要被清除的数据的间隔 |
整型 |
1 |
|
中 |
fetch.purgatory.purge.interval.requests |
读取请求清除的间隔 |
整型 |
1000 |
|
中 |
group.initial.rebalance.delay.ms |
在进行第一次重新平衡之前,组协调器将等待更多的消费者加入一个新组的时间。较长的延迟意味着潜在的更少的重新平衡,但增加的时间直到开始处理。 |
整型 |
3000 |
|
中 |
group.max.session.timeout.ms |
已注册的消费者允许的会话超时的最大时长。较长的超时时间让消费者在心跳之间有更多的时间处理消息,代价是以一个较长的时间成本来检测故障。 |
整型 |
300000 |
|
中 |
group.min.session.timeout.ms |
已注册的消费者允许的会话超时的最小时长。较短的超时时间导致更快的故障检测,代价是更频繁的消费者心跳,可以压垮broker的资源。 |
整型 |
6000 |
|
中 |
inter.broker.listener.name |
在broker之间用于通讯的监听器名称。如果这个没有被设置,监听器名称由security.inter.broker.protocol定义。同时设置此属性和security.inter.broker.protocol属性会导致错误。 |
字符 |
null |
|
中 |
inter.broker.protocol.version |
指定内部broker协议使用的版本。这是所有broker被更新到一个新的版本之后的典型的相撞。一些有效的值的例子如下: 0.8.0, 0.8.1, 0.8.1.1, 0.8.2, 0.8.2.0, 0.8.2.1, 0.9.0.0, 0.9.0.1检查整个列表的API版本。 |
字符 |
0.11.0-IV2 |
|
中 |
log.cleaner.backoff.ms |
当没有日志清理时的休眠时间 |
长整型 |
15000 |
[0,...] |
中 |
log.cleaner.dedupe.buffer.size |
用于所有清理器线程中日志复制的总内存。 |
长整型 |
134217728 |
|
中 |
log.cleaner.delete.retention.ms |
删除的记录保存的时长。 |
长整型 |
86400000 |
|
中 |
log.cleaner.enable |
启用服务器上的日志清理器进程。使用任何个带着cleanup.policy=compact属性设置的主题,包括内部偏移主题时启用。如果禁用这些,主题将不能精简并且大小会增长。 |
布尔 |
TRUE |
|
中 |
log.cleaner.io.buffer.load.factor |
日志清理器删除重复数据缓冲加载因子。The percentage full the dedupe buffer can become.较高的值将允许一次性清理更多的日志但会导致更多的哈希冲突。 |
双精度型 |
0.9 |
|
中 |
log.cleaner.io.buffer.size |
所有的清理器线程间日志清理的输入输出缓冲使用的总内存。 |
整型 |
524288 |
[0,...] |
中 |
log.cleaner.io.max.bytes.per.second |
日志清理器将被限制,以便于它的读写I/O的总和平均值将小于这个值。 |
双精度型 |
1.7976931348623157E308 |
|
中 |
log.cleaner.min.cleanable.ratio |
一个符合清理条件的日志中脏日志与总日志的最小比例。 |
双精度型 |
0.5 |
|
中 |
log.cleaner.min.compaction.lag.ms |
日志中消息未被压缩前的最小时间。只有适合的消息才会被压缩。 |
长整型 |
0 |
|
中 |
log.cleaner.threads |
日志清理的后台线程数量 |
整型 |
1 |
[0,...] |
中 |
log.cleanup.policy |
除了保留窗口之外的片段默认清理策略。用逗号分隔有效的策略。有效的策略有:“delete”和“compact” |
列表 |
delete |
[compact, delete] |
中 |
log.index.interval.bytes |
添加入口到偏移索引的间隔。 |
整型 |
4096 |
[0,...] |
中 |
log.index.size.max.bytes |
偏移索引的最大字节数 |
整型 |
10485760 |
[4,...] |
中 |
log.message.format.version |
指定消息格式的版本,broker将会用来追加消息到日志。这个值应该是一个可用的API版本。例如:0.8.2, 0.9.0.0, 0.10.0,查阅API版本可获取更多详情。通过设置一个独特的消息格式版本,用户可以证明所有在磁盘上已存在的消息都小于或等于指定的版本。这个值如果没有被正确设置会导致老版本的消费者奔溃,因为它们收到一个它们不懂的格式。 |
字符 |
0.11.0-IV2 |
|
中 |
log.message.timestamp.difference.max.ms |
一个broker收到一条消息的时间戳与在消息中指定的时间戳之间允许的最大差距值。如果 log.message.timestamp.type=CreateTime,如果时间戳差距超出这个阈值消息将会被拒绝。如果log.message.timestamp.type=LogAppendTime,这个配置将会被忽略。这个允许的最大的时间戳差距不能超过log.retention.ms的值以免不必要的频繁日志滚动。 |
长整型 |
9223372036854775807 |
|
中 |
log.message.timestamp.type |
定义消息的时间戳是消息的创建时间或是日志追加时间。这个值应当为`CreateTime` 或 `LogAppendTime` |
整型 |
CreateTime |
[CreateTime, LogAppendTime] |
中 |
log.preallocate |
是否应该在创建新片段时提前分配文件?如果你是在windows系统上使用kafka,那么你可能要把这个值设为true。 |
布尔 |
FALSE |
|
中 |
log.retention.check.interval.ms |
清理器检查是否有日志符合删除条件的频率。以毫秒为单位。 |
长整型 |
300000 |
[1,...] |
中 |
max.connections.per.ip |
每个IP地址允许的最大连接数。 |
整型 |
2147483647 |
[1,...] |
中 |
max.connections.per.ip.overrides |
每个IP或是主机覆盖到默认的最大连接数。 |
字符 |
"" |
|
中 |
num.partitions |
每个主题分区的默认数量 |
整型 |
1 |
[1,...] |
中 |
principal.builder.class |
PrincipalBuilder接口实现类的全名,用来构建SSL安全协议的规则。 |
类 |
org.apache.kafka.common.security.auth.DefaultPrincipalBuilder |
|
中 |
producer.purgatory.purge.interval.requests |
生产者请求清理的清理间隔。 |
整型 |
1000 |
|
中 |
replica.fetch.backoff.ms |
获取分区发生错误时休眠的时间。 |
整型 |
1000 |
[0,...] |
中 |
replica.fetch.max.bytes |
每个分区尝试去获取的消息的字节数大小。这不是一个绝对的最大值,如果获取的第一个非空的分区中的第一个记录批次大于这个属性的值,这个记录批次将继续被返回以确保取得进展。broker接受的最大记录批次大小通过message.max.bytes (broker 定义) 或 max.message.bytes (topic 定义)来定义。 |
整型 |
1048576 |
[0,...] |
中 |
replica.fetch.response.max.bytes |
整个响应期待的最大字节数。记录按批次获取,如果获取的第一个非空的分区中的第一个记录批次大于这个属性的值,这个记录批次将继续被返回以确保取得进展。这不是一个绝对的最大值。broker接受的最大记录批次大小通过message.max.bytes (broker 定义) 或 max.message.bytes (topic 定义)来定义。 |
整型 |
10485760 |
[0,...] |
中 |
reserved.broker.max.id |
用作broker.id的最大值 |
整型 |
1000 |
[0,...] |
中 |
sasl.enabled.mechanisms |
启用kafka服务器简单安全认证机列表。这个列表可以包括一个可用的安全提供者的任意机置。只有GSSAPI(通用安全服务应用接口)是默认启用的。 |
列表 |
GSSAPI |
|
中 |
sasl.kerberos.kinit.cmd |
Kerberos kinit 命令路径。 |
字符 |
/usr/bin/kinit |
|
中 |
sasl.kerberos.min.time.before.relogin |
刷新尝试之间的登录线程睡眠时间。 |
长整型 |
60000 |
|
中 |
sasl.kerberos.principal.to.local.rules |
主体名和短名的映射规则列表(典型就是操作系统用户名)。这些规则按顺序评估并且与一个主体名匹配的第一个规则用来映射为一个短名。其它后面的规则被忽略。默认情况下,主体名的格式 {用户名}/{主机名}@{REALM}被映射到{用户名}。查看安全认证和访问控制列表获取更详细的信息。 |
列表 |
DEFAULT |
|
中 |
sasl.kerberos.service.name |
kafka运行的Kerberos主体名称。这个可以在kafka JAAS 配置里或在kafka 配置里定义。 |
字符 |
null |
|
中 |
sasl.kerberos.ticket.renew.jitter |
添加到更新期限里随机抖动的百分比。 |
双精度型 |
0.05 |
|
中 |
sasl.kerberos.ticket.renew.window.factor |
登录线程将休眠,直到指定的时间窗口因子从最后的刷新到票据的过期已经到来,此时它将尝试续订该票证。 |
双精度型 |
0.8 |
|
中 |
sasl.mechanism.inter.broker.protocol |
用于内部的broker通信的简单身份验证和安全层机置。默认为通用安全服务应用程序接口 |
字符 |
GSSAPI |
|
中 |
security.inter.broker.protocol |
用于broker之间通讯的安全协议。可用的值有:PLAINTEXT, SSL, SASL_PLAINTEXT, SASL_SSL同时设置这个属性和inter.broker.listener.name 属性会报错 |
字符 |
PLAINTEXT |
|
中 |
ssl.cipher.suites |
密码套件列表。这是一个名为认证、加密、mac和密钥交换算法的组合,用于采用TSL或SSL网络协议的网络连接的协商安全设置。默认情况下,所有可用的密码套件都是支持的。 |
列表 |
null |
|
中 |
ssl.client.auth |
将broker配置为要求客户端验证。如下的设置是通用的: ssl.client.auth=required 代表要求客户端验证 ssl.client.auth=requested代表客户端验证是可选的。不像要求客户端验证,如果设置了此选项,客户机可以选择不提供关于自身的身份验证信息。 ssl.client.auth=none 这意味着不需要客户端验证.
|
字符 |
none |
[required, requested, none] |
中 |
ssl.enabled.protocols |
SSL连接启用的协议列表。 |
列表 |
TLSv1.2,TLSv1.1,TLSv1 |
|
中 |
ssl.key.password |
密钥文件中私钥的密码。这是客户端可选选项。 |
密文 |
null |
|
中 |
ssl.keymanager.algorithm |
SSL连接的密钥管理器工厂算法。默认值是JVM的配置的密钥管理器工厂算法。 |
字符 |
SunX509 |
|
中 |
ssl.keystore.location |
钥匙库文件位的位置。这是客户端可选的选项并可以用作客户端双向认证。 |
字符 |
null |
|
中 |
ssl.keystore.password |
钥匙库文件的密码。这个是客户端可选项并且只有当ssl.keystore.location配置后才会需要。 |
密文 |
null |
|
中 |
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.trustmanager.algorithm |
可信证书管理器工厂的SSL连接使用的算法。默认值为JVM中配置的可信证书管理器工厂算法。 |
字符 |
PKIX |
|
中 |
ssl.truststore.location |
可信证书库的位置 |
字符 |
null |
|
中 |
ssl.truststore.password |
可信证书库的密码。如果证书库没有设置密码,它仍然是可用的,但是完整性校验是失效的。 |
密文 |
null |
|
中 |
ssl.truststore.type |
可信证书库的格式 |
字符 |
JKS |
|
中 |
alter.config.policy.class.name |
用于校验的改变配置策略类。这个类需要实现org.apache.kafka.server.policy.AlterConfigPolicy接口。 |
类 |
null |
|
低 |
authorizer.class.name |
实现授权的类名 |
字符 |
"" |
|
低 |
create.topic.policy.class.name |
用于验证的创建主题策略类。这个类应该实现org.apache.kafka.server.policy.CreateTopicPolicy接口 |
类 |
null |
|
低 |
listener.security.protocol.map |
监听器名称和安全协议之间的映射。这必须是为相同的安全协议在多个端口或IP可用做的定义。例如,我们可以将内部和外部的传输分开即使都需要SSL。具体的,我们应该带有 INTERNAL 和 EXTERNAL 和这个属性: `INTERNAL:SSL,EXTERNAL:SSL` 来定义监听器。如图所示,键和值用冒号分隔,map条目用逗号分隔。每个监听器的名字应该在map中只出现一次。 |
字符 |
SSL:SSL,SASL_PLAINTEXT:SASL_PLAINTEXT,TRACE:TRACE,SASL_SSL:SASL_SSL,PLAINTEXT:PLAINTEXT |
|
低 |
metric.reporters |
用作度量报告的类列表。实现了MetricReporter接口,允许插入到类,可以被度量创建通知到。 JmxReporter 常常包括到注册 JMX 统计。 |
列表 |
"" |
|
低 |
metrics.num.samples |
样品保持计算指标的数量 |
整型 |
2 |
[1,...] |
低 |
metrics.recording.level |
度量的最高记录级别 |
字符 |
INFO |
|
低 |
metrics.sample.window.ms |
一个度量样本被计算的时间窗口。 |
长整型 |
30000 |
[1,...] |
低 |
quota.window.num |
客户端配额样例在内存中停留的数量。 |
整型 |
11 |
[1,...] |
低 |
quota.window.size.seconds |
每个客户端配额样例的时间间隔。 |
整型 |
1 |
[1,...] |
低 |
replication.quota.window.num |
副本配额样例在内存停留的数量。 |
整型 |
11 |
[1,...] |
低 |
replication.quota.window.size.seconds |
每个副本配额样例的时间间隔。 |
整型 |
1 |
[1,...] |
低 |
ssl.endpoint.identification.algorithm |
用于用服务器证书验证服务器主机名的端点认证算法。 |
字符 |
null |
|
低 |
ssl.secure.random.implementation |
有于SSL加密操作的安全随机数实现类。 |
字符 |
null |
|
低 |
transaction.abort.timed.out.transaction.cleanup.interval.ms |
回滚已过期事务的时间间隔 |
整型 |
60000 |
[1,...] |
低 |
transaction.remove.expired.transaction.cleanup.interval.ms |
删除因为transactional.id.expiration.ms过期引起的事务过期的间隔时间 |
整型 |
3600000 |
[1,...] |
低 |
zookeeper.sync.time.ms |
一个跟随者可以在一个领导者之后多久时间进行同步。 |
整型 |
2000 |
|
低 |
相关推荐
本篇将深入探讨Kafka配置参数,帮助你理解和优化Kafka集群的运行。 1. **broker.id**: 这个参数是每个Kafka broker的唯一标识,它必须在整个集群中是唯一的。值可以是任意整数,通常从0开始。 2. **zookeeper....
对于Kafka的Topic配置参数,下面将详细讲解一些重要的参数。 1. cleanup.policy 这个参数用于指定日志段的清理策略。它接受"delete"或者"compact"作为值,分别表示删除策略和压缩策略。默认值为"delete",表示日志...
Kafka参数配置详解 Kafka是一种流行的分布式流处理平台,用于构建实时数据管道和事件驱动的架构。为了确保Kafka集群的稳定运行和高性能,需要正确地配置Kafka参数。本文将详细介绍Kafka的参数配置,包括系统参数、...
* 修改 server.properties 文件中参数值:broker 处理消息的最大线程数 num.network.threads=xxx,broker 处理磁盘 IO 的线程数 num.io.threads=xxx。 七、Producer 写入优化 * 定期批量写文件可以大幅度提高 ...
在实际使用过程中,需要对Kafka的配置参数进行详细理解,以便根据具体业务需求调整参数,优化性能。以下对Kafka主要配置参数进行详细解读: 1. broker.id:这是Kafka broker的唯一标识符,它是一个整数,用于唯一...
在Kafka的运行中,`server.properties`是每个Kafka broker节点的核心配置文件,它定义了服务器的行为和参数。下面将详细解释`server.properties`中的关键配置项: 1. **broker.id**: 每个Kafka节点都有一个唯一的ID...
首先,我们来看 `server.properties` 文件,这是 Kafka 集群的核心配置文件,它定义了服务器(Broker)的行为和设置。以下是一些关键参数: 1. **broker.id**:每个 Kafka 服务器都有一个唯一的 ID,用于区分不同的...
在大数据处理领域,Apache Kafka是一个不可或缺的组件,它作为一个...在实际部署过程中,根据具体的业务需求和环境,可能还需要调整其他配置参数。了解并熟练掌握这些配置对于高效、稳定地运行Kafka集群至关重要。
在构建和管理大规模分布式消息系统时,...这不仅涉及到基本的配置参数,还包括集群的扩展性、容错性、性能优化和安全性等多个方面。在实际应用中,应根据业务需求和环境特点进行细致的调整,以达到最优的运行状态。
在Kafka的单机部署中,配置文件起着至关重要的作用,它们定义了Kafka服务器的行为和参数。下面我们将详细探讨《Kafka单机部署》中涉及的知识点。 首先,我们需要理解Kafka的基本架构。Kafka由多个组件构成,主要...
在配置方面,文档详细解析了Kafka集群的设置,如broker配置、日志管理、网络参数等,帮助管理员优化Kafka的性能和稳定性。此外,还涵盖了如何配置生产者和消费者,确保高效的数据传输和消费。 文档中还涵盖了Kafka...
本文将详细解析如何在处理大文件时,优化Kafka的配置参数,确保高效、稳定地进行数据生产和消费。 首先,我们要了解Kafka的核心组件:生产者(Producer)和消费者(Consumer)。生产者负责将数据写入Kafka的主题...
【正文】 Kafka是一款高效的消息中间件,常用于大数据实时处理和流计算场景。本篇文档将详细介绍如何在Linux环境中搭建Kafka集群,同时结合...同时,通过合理配置参数,可以优化Kafka的性能,满足不同业务场景的需求。
在IT行业中,Apache Kafka是一个广泛使用的分布式流处理...在部署Kafka集群时,理解并适当地调整这些配置参数对于优化性能、保证数据安全性和提高可用性至关重要。对配置文件的深入了解是管理和维护Kafka集群的基础。
Kafka的配置主要集中在`server.properties`文件中,主要包括以下几个核心参数: - `broker.id`: 每个Kafka节点的唯一标识,从0开始。 - `zookeeper.connect`: 指定Zookeeper集群的连接字符串,格式为`ip1:port1,ip2...
主题配置涉及到分区数量、副本因子等参数,如 `num.partitions`(分区数)、`replication.factor`(副本因子)等。 #### 3.3 Producer Configs 生产者配置主要包括消息发送策略、缓冲区大小等,如 `acks`(确认机制...
配置`config/server.properties`文件,包括设置broker.id、zookeeper.connect、log.dirs等参数。 4. **创建topics**:使用Kafka的管理命令行工具创建主题,例如,`bin/kafka-topics.sh --create --zookeeper ...
### Kafka配置安装详解 #### 一、环境搭建与配置 Kafka是一款开源的消息队列中间件,被广泛应用于大数据处理领域。...在实际应用中,还需要根据具体需求进一步调整配置参数,以满足高性能、高可靠性的消息传输需求。
它的客户端命令以及核心配置文件是其操作的核心,而spring集成和webflux集成则可以将Kafka3.0与主流的Java开发框架相结合,集群搭建则是其分布式特性的基础。 消息系统是一种应用程序,用于在不同的软件组件之间...