Kafka-Kafka 1.0.0 client 生产者 配置选项 (完整版)

由于大家日常生产开发中,对 kafka 生产者,消费者 可以支持的配置 可能有所困惑,

这里我们写一片文章帮助大家答疑解惑。

 

本文基于  Kafka 的 1.0.0 版本

 

其实 ,主要的配置选项,可以在以下的包中找到。


    org.apache.kafka
    kafka-clients
    1.0.0

 

生产者配置:

  org.apache.kafka.clients.producer.ProducerConfig

消费者配置:

  org.apache.kafka.clients.consumer.ConsumerConfig

 

 

生产/ 消费 者配置按照以下方式,进行组织。

line1 : property name

line2: priority

line3 :  type

line4  : default value

line5 :  valid value  (for some type )

line6: english description

line7 : translation

 

名称:

优先级:

类型:

默认值:

合法值:

描述:

解释:

 

注意: 受限于篇幅,本篇主要对生产者配置进行讲解 !!!
 

 

高优先级

 

    bootstrap.servers


    key.serializer


    value.serializer


    acks


    compression.type


    retries
 


中优先级

 

    batch.size


    client.id


    linger.ms


    max.request.size


    security.protocol


 
低优先级

 

    enable.idempotence


    max.in.flight.requests.per.connection


    transactional.id


    transaction.timeout.ms

 

 

生产者配置:

 

高优先级:

 

名称:

  bootstrap.servers

优先级:

  high

类型:

  list

默认值:

合法值:

描述:

   A list of host/port pairs to use for establishing the initial connection to the Kafka cluster. The client will make use of all servers irrespective of which servers are specified here for bootstrapping—this list only impacts the initial hosts used to discover the full set of servers. This list should be in the form host1:port1,host2:port2,.... Since these servers are just used for the initial connection to discover the full cluster membership (which may change dynamically), this list need not contain the full set of servers (you may want more than one, though, in case a server is down).

解释:

  给出一个初始化的 kafka 集群地址,不必是集群中的全部节点,(根据发现机制,发现整个集群),

为了防止 填写节点 刚好挂掉, 最好填写多于一个节点

例子:

  127.0.0.1:9092

 

-----------------------------------------------

 

名称:

  key.serializer

优先级:

  high

类型:

  class

默认值:

合法值:

描述:

    Serializer class for key that implements the org.apache.kafka.common.serialization.Serializer interface.

解释:

  key序列化实现类,需实现 org.apache.kafka.common.serialization.Serializer 接口。

例子:

 org.apache.kafka.common.serialization.StringSerializer

-----------------------------------------------

 

名称:

  value.serializer

优先级:

  high

类型:

  string

默认值:

合法值:

描述:

   Serializer class for value that implements the org.apache.kafka.common.serialization.Serializer interface.

解释:

   kakfa 中记录中 value 的序列化实现类 ,该类需要实现 org.apache.kafka.common.serialization.Serializer 接口。

例子:

  org.apache.kafka.common.serialization.StringSerializer

-----------------------------------------------

名称:

  acks

优先级:

  high

类型:

  string

默认值:

  1

合法值:

  [all, -1, 0, 1]

描述:

   The number of acknowledgments the producer requires the leader to have received before considering a request complete. This controls the durability of records that are sent. The following settings are allowed:

  acks=0

    If set to zero then the producer will not wait for any acknowledgment from the server at all. The record will be immediately added to the socket buffer and considered sent. No guarantee can be made that the server has received the record in this case, and the retries configuration will not take effect (as the client won't generally know of any failures). The offset given back for each record will always be set to -1.

  acks=1

    This will mean the leader will write the record to its local log but will respond without awaiting full acknowledgement from all followers. In this case should the leader fail immediately after acknowledging the record but before the followers have replicated it then the record will be lost.
 
  acks=all

    This means the leader will wait for the full set of in-sync replicas to acknowledge the record. This guarantees that the record will not be lost as long as at least one in-sync replica remains alive. This is the strongest available guarantee. This is equivalent to the acks=-1 setting.

 

解释:

  在一次请求完成前,生产者需要,broker确认收到消息的数量。

  这控制了消息发送的时间间隔, 有以下选项 可供选择。

ack=0

  如果设置为0,生产者不需要服务端的确认。记录会被立即加到 socket 缓冲中,然后被发送。

  在这种情况下,没有观察者,可以确保记录被收到了。并且,重试配置并不会生效, 因为客户端,并不知道那些记录发送失败了。回调函数对每个返回的记录的偏移量总是设置为 -1。

 acks=1

  这意味只需要broker 主节点将记录写到其本地日志中即可,但不需要其他所有的跟随者(followers)的确认。

  在这种情况下,如果leader 接收到信息后立刻 down了,而跟随着没有复制记录,那么该条记录就会丢失。

 acks=all

  这意味着所有在线的副本集都需要确认此条记录。

  这确保了如果至少有一个副本集存活的情况下,记录都不会丢失。这是最高级别的检测方案,这需要设置 acks 为 -1.

-----------------------------------------------

 

名称:

  buffer.memory

优先级:

  high

类型:

  long

默认值:

  33554432

合法值:

描述:

      The total bytes of memory the producer can use to buffer records waiting to be sent to the server. If records are sent faster than they can be delivered to the server the producer will block for max.block.ms after which it will throw an exception.
      This setting should correspond roughly to the total memory the producer will use, but is not a hard bound since not all memory the producer uses is used for buffering. Some additional memory will be used for compression (if compression is enabled) as well as for maintaining in-flight requests.

解释:

   生产者在等待发送给服务端数据时,生产者总的缓存池的大小,单位: byte, 如果记录发发送的比上传给服务器还要快,这会导致   max.block.ms ,在这之后会触发一个异常。

  这个设置只是粗略的估计生产者使用的总内存,但是这不是一个生产者缓冲使用内存大小的硬指标。一些额外的内存会被用于记录的压缩(如果压缩可用) 用于维护 in-flight  请求。

 

-----------------------------------------------

名称:

   compression.type

优先级:

  high

类型:

  string

默认值:

  none

合法值:

描述:

      The compression type for all data generated by the producer. The default is none (i.e. no compression). Valid values are none, gzip, snappy, or lz4. Compression is of full batches of data, so the efficacy of batching will also impact the compression ratio (more batching means better compression).
    

解释:

  生产者产生数据,进行数据压缩所采用的压缩类型。默认值 none (意味着 无压缩),合法值有以下几种选项 : none, gzip, snappy, or lz4 。压缩是压缩所有批次的数据, 所以批次的大小 也会影响压缩的频率 (更多的批次 意味着 更好的压缩)

 

-----------------------------------------------

名称:

  retries

优先级:

  high

类型:

 int

默认值:

  0

合法值:

  [0,...,2147483647]

描述:    

  Setting a value greater than zero will cause the client to resend any record whose send fails with a potentially transient error. Note that this retry is no different than if the client resent the record upon receiving the error. Allowing retries without setting          max.in.flight.requests.per.connection to 1 will potentially change the ordering of records because if two batches are sent to a single partition, and the first fails and is retried but the second succeeds, then the records in the second batch may appear first.

解释:

  设置一个大于0的值,会使得 由于短暂的错误,发送失败的记录重新发送。

  注意 :

   此重试 与 重新发送记录仍旧失败没有区别。允许重试,并不去设置 max.in.flight.requests.per.connection 为1  会潜在地影响记录的先后顺序,因为如果两个批次发送到一个分区 partition, 第一次失败了,第二次成功了,那么第二个批次的记录可能会先出现。

 

-----------------------------------------------

 

安全相关属性

 

名称:

  ssl.key.password    

优先级:

  high

类型:

  password

默认值:

  null

合法值:

描述:

  The password of the private key in the key store file. This is optional for client.

解释:

 

-----------------------------------------------

名称:

  ssl.keystore.location

优先级:

  high

类型:

  string

默认值:

  null

合法值:

描述:

   The location of the key store file. This is optional for client and can be used for two-way authentication for client.

解释:

 

-----------------------------------------------

 

名称:

  ssl.keystore.password

优先级:

  high

类型:

  password

默认值:

  null

合法值:

描述:

  The store password for the key store file. This is optional for client and only needed if ssl.keystore.location is configured.

解释:

 

-----------------------------------------------

 

名称:
  ssl.truststore.location

优先级:

  high

类型:

  string

默认值:

  null

合法值:

描述:

  The location of the trust store file.

解释:

 

-----------------------------------------------

名称:

  ssl.truststore.password

优先级:

  high

类型:

  password

默认值:

  null

合法值:

描述:

      The password for the trust store file. If a password is not set access to the truststore is still available, but integrity checking is disabled.

解释:

 

 

-----------------------------------------------

 

中优先级

 

 

名称:

  batch.size

优先级:

  medium

类型:

  int

默认值:

 16384

合法值:

  [0,...]

描述:

    The producer will attempt to batch records together into fewer requests whenever multiple records are being sent to the same partition. This helps performance on both the client and the server. This configuration controls the default batch size in bytes.

  No attempt will be made to batch records larger than this size.

  Requests sent to brokers will contain multiple batches, one for each partition with data available to be sent.

  A small batch size will make batching less common and may reduce throughput (a batch size of zero will disable batching entirely). A very large batch size may use memory a bit more wastefully as we will always allocate a buffer of the specified batch size in anticipation of additional records.

解释:

  无论多条记录是否被发送到同一个分区(partition), 一个生产者会尝试将记录分批次归档到几个记录中.

 这会提升服务端跟客户端的表现。这个配置控制了默认的批次大小,以 byte为单位。

  一个批次的大小不会大于此大小。

  发送给 brokers 的请求会包含多个批次,一个批次 跟 分区 (partition) 是一一对应的。

 一个小的批次大小会使得批次 更特别 ,可能会减少kafka的吞吐量(降该值设置为0,会取消批次的设置)。一个非常大的批次,会浪费一些内存,因为我们经常分配指定批次大小的内存,为了接受额外的数据。

  

  

 

-----------------------------------------------

 

名称:

  client.id

优先级:
  medium

类型:

  string

默认值:

  ""

合法值:

描述:

  An id string to pass to the server when making requests. The purpose of this is to be able to track the source of requests beyond just ip/port by allowing a logical application name to be included in server-side request logging.

解释:

  当建立请求是发送的一个id字符串,这个字符串的目的是为了追踪除了 ip/port 之外的逻辑应用名,该id 会被记录在服务内部的请求日志中。

 

-----------------------------------------------

 

名称:

  connections.max.idle.ms

优先级:

  medium

类型:

  long

默认值:

  540000

合法值:

描述:

  Close idle connections after the number of milliseconds specified by this config.

解释:

  指定的时间之后关闭闲置的链接。

 

---------------------------------------------------------

 

名称:

  linger.ms

优先级:

  medium

类型:

  long

默认值:

  0

合法值:

  [0,...]

描述:
    The producer groups together any records that arrive in between request transmissions into a single batched request. Normally this occurs only under load when records arrive faster than they can be sent out. However in some circumstances the client may want to reduce the number of requests even under moderate load. This setting accomplishes this by adding a small amount of artificial delay—that is, rather than immediately sending out a record the producer will wait for up to the given delay to allow other records to be sent so that the sends can be batched together. This can be thought of as analogous to Nagle's algorithm in TCP. This setting gives the upper bound on the delay for batching: once we get batch.size worth of records for a partition it will be sent immediately regardless of this setting, however if we have fewer than this many bytes accumulated for this partition we will 'linger' for the specified time waiting for more records to show up. This setting defaults to 0 (i.e. no delay). Setting linger.ms=5, for example, would have the effect of reducing the number of requests sent but would add up to 5ms of latency to records sent in the absense of load.

解释:

  生产者组 将  请求传输过来的记录汇聚到一个批次请求中。

  通常情况下,只有当记录到达的速度比发送的速度快时才会发生。然而,在某些情况下,客户端可能希望减少请求的数量,即使是在中等负载下。这个设置通过添加少量的人工延迟来实现这一点——也就是说,它不会立即发送一个记录,生产者将等待给定的延迟,以允许发送其他记录,这样发送就可以被组合在一起。这可以被认为类似于Nagle在TCP中的算法。这个设置给出了批处理延迟的上限:一旦我们得到一个批处理足够多的数据。不管这个设置是什么,它将立即被发送到一个分区的大小,但是如果我们的这个分区积累的字节数少于这么多,我们将在指定的时间内“逗留”,等待更多的记录出现。

  这个设置默认为0(即没有延迟)。设置linger.ms=5,  将会减少发送请求的数量,但会增加5 ms的延迟,当没有足够多的数据发送的情况下。

 

---------------------------------------------------------

 

名称:

  max.block.ms

优先级:

 medium 

类型:

  long

默认值:

  60000

合法值:

  [0,...]

描述:

  The configuration controls how long KafkaProducer.send() and KafkaProducer.partitionsFor() will block.These methods can be blocked either because the buffer is full or metadata unavailable.Blocking in the user-supplied serializers or partitioner will not be counted against this timeout.

解释:

  该配置控制了  KafkaProducer.send() 和 KafkaProducer.partitionsFor() 阻塞的时间。这些方法可能由于 缓冲满了 或者 元数据

不可用而阻塞。用户提供的序列化类跟分区器不会被纳入到此计时器。

 

---------------------------------------------------------

 

名称:

  max.request.size    

优先级:

  medium

类型:

  int

默认值:

  1048576

合法值:

  [0,...]

描述: 
    The maximum size of a request in bytes. This setting will limit the number of record batches the producer will send in a single request to avoid sending huge requests. This is also effectively a cap on the maximum record batch size. Note that the server has its own cap on record batch size which may be different from this.

解释:

  一次请求发送的数据的最大字节数。这个设置会限制 一个单独的请求中 批次中记录的数量 ,去避免一个大的请求。

 这也实际上是对最大记录批大小的限制。请注意,服务器在记录批大小上有自己的上限,这可能与此不同。

 

---------------------------------------------------------

 

名称:

  partitioner.class

优先级:

  medium

类型:

  class

默认值:

  org.apache.kafka.clients.producer.internals.DefaultPartitioner

合法值:

描述:

  Partitioner class that implements the org.apache.kafka.clients.producer.Partitioner interface.

解释:

  分区分类器,需要实现  org.apache.kafka.clients.producer.Partitioner  接口

---------------------------------------------------------

 

名称:

   receive.buffer.bytes        

优先级:

  medium

类型:

  int

默认值:

  32768

合法值:

  [-1,...]

描述:

      The size of the TCP receive buffer (SO_RCVBUF) to use when reading data. If the value is -1, the OS default will be used.

解释:

  读取数据时,  TCP 接受数据缓冲的大小 SO_RCVBUF。 如果该值为 -1 ,那么会使用系统默认值。

 

---------------------------------------------------------

 

名称:

  request.timeout.ms

优先级:

  medium

类型:

  int

默认值:

  30000

合法值:

  [0,...]

描述:

  The configuration controls the maximum amount of time the client will wait for the response of a request. If the response is not received before the timeout elapses the client will resend the request if necessary or fail the request if retries are exhausted. This should be larger than replica.lag.time.max.ms (a broker configuration) to reduce the possibility of message duplication due to unnecessary producer retries.

解释:

  这个配置控制了客户端等待请求返回的一个最大等待时长。如果在超时之前没有收到响应,则客户端将在必要时重新发送请求,或者如果重试失败,则会失败。

  该值应该比 replica.lag.time.max.ms大 (broker 上的配置,  以减少由于不必要的生产者重试而导致的消息重复的可能性。

 

     

--------------------------------------------------------------------

 

名称:

  send.buffer.bytes

优先级:

  medium

类型:

  int

默认值:

  131072

合法值:

  [-1,...]

描述:

       The size of the TCP send buffer (SO_SNDBUF) to use when sending data. If the value is -1, the OS default will be used.

解释:

  TCP发送缓冲池的大小 SO_SNDBUF。如果该值设置为 -1 ,会使用系统默认值。

 

--------------------------------------------------------------------

 

安全相关属性

 

名称:

  sasl.jaas.config

优先级:

  medium

类型:

  password

默认值:

  null

合法值:

描述:

  JAAS login context parameters for SASL connections in the format used by JAAS configuration files. JAAS configuration file format is described here. The format for the value is: ' ( = )*;'

解释:

 

--------------------------------------------------------------------

 

名称:

  sasl.kerberos.service.name

优先级:

  medium

类型:

  string

默认值:

  null

合法值:

描述:

      The Kerberos principal name that Kafka runs as. This can be defined either in Kafka's JAAS config or in Kafka's config.

解释:

 

--------------------------------------------------------------------

 

名称:

  sasl.mechanism

优先级:

  medium

类型:

  string

默认值:

  GSSAPI

合法值:

描述:

          SASL mechanism used for client connections. This may be any mechanism for which a security provider is available. GSSAPI is the default mechanism.

解释:

 

--------------------------------------------------------------------

 

名称:

  security.protocol

优先级:

  medium

类型:

  string

默认值:

  PLAINTEXT

合法值:

  PLAINTEXT, SSL, SASL_PLAINTEXT, SASL_SSL

描述:

  Protocol used to communicate with brokers. Valid values are: PLAINTEXT, SSL, SASL_PLAINTEXT, SASL_SSL.

解释:

 

--------------------------------------------------------------------

 

名称:

  ssl.enabled.protocols

优先级:

  medium

类型:

  list

默认值:

合法值:

  TLSv1.2,TLSv1.1,TLSv1

描述:

   The list of protocols enabled for SSL connections.

解释:

 

--------------------------------------------------------------------

 

名称:

 ssl.keystore.type

优先级:

  medium

类型:

  string

默认值:

  JKS

合法值:

描述:

  The file format of the key store file. This is optional for client

解释:

 

--------------------------------------------------------------------

 

名称:

  ssl.protocol    

优先级:

  medium

类型:

  string

默认值:

  TLS

合法值:

描述:

      The SSL protocol used to generate the SSLContext. Default setting is TLS, which is fine for most cases. Allowed values in recent JVMs are TLS, TLSv1.1 and TLSv1.2. SSL, SSLv2 and SSLv3 may be supported in older JVMs, but their usage is discouraged due to known security vulnerabilities.

解释:

 

--------------------------------------------------------------------

 

名称:

  ssl.provider

优先级:

  medium

类型:

  string

默认值:

  null

合法值:

描述:
    The name of the security provider used for SSL connections. Default value is the default security provider of the JVM.

解释:

 

--------------------------------------------------------------------

 

名称:

  ssl.truststore.type

优先级:

  medium

类型:

  string

默认值:

  JKS

合法值:

描述:

  The file format of the trust store file.

解释:

 

--------------------------------------------------------------------

 

 

 

 

 

 

低优先级

 

--------------------------------------------------------------------

 

名称:

  enable.idempotence

优先级:

  low

类型:

  boolean

默认值:

  false

合法值:

  true / false

描述:

  When set to 'true', the producer will ensure that exactly one copy of each message is written in the stream. If 'false', producer retries due to broker failures, etc., may write duplicates of the retried message in the stream. Note that enabling idempotence requires max.in.flight.requests.per.connection to be less than or equal to 5, retries to be greater than 0 and acks must be 'all'. If these values are not explicitly set by the user, suitable values will be chosen. If incompatible values are set, a ConfigException will be thrown.

解释:

  当设置为 true 时,生产者确保每条信息在stream 中只会出现一次。

  如果设置为false, 生产者会根据broker 的失败信息进行重试,这意味着,在流中一条消息可能会被复写多次,

注意:

  使用幂等功能需要以下设置

 max.in.flight.requests.per.connection  必须小于等于 5

 retries  必须需要大于 0

 acks  必须设置为 all

如果用户没有设置这些值,会选用合适的值。

如果设置了不合理的值,会抛出一个 ConfigException 异常。

 

--------------------------------------------------------------------

 

名称:

  interceptor.classes    

优先级:

  low

类型:

  list

默认值:

  null

合法值:

描述:

  A list of classes to use as interceptors. Implementing the org.apache.kafka.clients.producer.ProducerInterceptor interface allows you to intercept (and possibly mutate) the records received by the producer before they are published to the Kafka cluster. By default, there are no interceptors.

解释:

  一系列用于作为解析器的类。

需要实现 org.apache.kafka.clients.producer.ProducerInterceptor 接口,允许你再把这些记录发送给kafka 集群前,解析(可能是 变异)的记录。

  默认,没有解析器。

 

--------------------------------------------------------------------

 

名称:

  max.in.flight.requests.per.connection

优先级:

  low

类型:

  int

默认值:

  5

合法值:

  [1,...]

描述:

 The maximum number of unacknowledged requests the client will send on a single connection before blocking. Note that if this setting is set to be greater than 1 and there are failed sends, there is a risk of message re-ordering due to retries (i.e., if retries are enabled).

解释:

  一个单独的连接在阻塞前,发送的最大不确认请求的数量。

注意,如果这个值比 1 大,并且这些失败的记录重新发送了,会有记录重排序的风险 (如果 可以重试的话)

 

--------------------------------------------------------------------

 

名称:

  metadata.max.age.ms

优先级:

  low

类型:

  long

默认值:

  300000

合法值:

  [0,...]

描述:
    The period of time in milliseconds after which we force a refresh of metadata even if we haven't seen any partition leadership changes to proactively discover any new brokers or partitions.

解释:

  即使 分区 (partition)的领导权没有发生变化 归因于 发现新的 broker 与 partition  , 强制刷新 元数据(metadata)的 时间 

 

--------------------------------------------------------------------

 

名称:

  transactional.id

优先级:

  low

类型:

  string

默认值:

  null

合法值:

  non-empty string

描述:

  The TransactionalId to use for transactional delivery. This enables reliability semantics which span multiple producer sessions since it allows the client to guarantee that transactions using the same TransactionalId have been completed prior to starting any new transactions. If no TransactionalId is provided, then the producer is limited to idempotent delivery. Note that enable.idempotence must be enabled if a TransactionalId is configured. The default is empty, which means transactions cannot be used.

解释:

 TransactionalId 用于 事务级别的数据发送。 

 这使得可靠性语义能够跨越多个生产者会话,因为它允许客户端保证在开始任何新的交易之前已经完成了使用相同TransactionalId的交易。

  如果没有设置 transactionid, 那么 生产者 会被限制为 幂等传输。

注意:

  当设置了   transactional.id 时,enable.idempotence 必须设置为 true.

  默认值 为空,意味着不启用事务。

--------------------------------------------------------------------

 

名称:

  transaction.timeout.ms

优先级:

  low

类型:

  int

默认值:

  60000

合法值:

描述:  
    The maximum amount of time in ms that the transaction coordinator will wait for a transaction status update from the producer before proactively aborting the ongoing transaction.If this value is larger than the max.transaction.timeout.ms setting in the broker, the request will fail with a `InvalidTransactionTimeout` error.

解释:

  事务协调器 等待生产者更新一个事务的状态  ,主动终止进行着的事务 的最长等待时间。

  如果该值比 broker 上 max.transaction.timeout.ms 的值要大,请求会抛出一个 InvalidTransactionTimeout  异常。

 

--------------------------------------------------------------------

 

名称:

  reconnect.backoff.max.ms

优先级:

  low

类型:

  long

默认值:

  1000

合法值:

  [0,....]

描述:

  The maximum amount of time in milliseconds to wait when reconnecting to a broker that has repeatedly failed to connect. If provided, the backoff per host will increase exponentially for each consecutive connection failure, up to this maximum. After calculating the backoff increase, 20% random jitter is added to avoid connection storms.

解释:

 

--------------------------------------------------------------------

 

名称:

  reconnect.backoff.ms

优先级:

  low

类型:

  long

默认值:

  50

合法值:

  [0,...]

描述:

  The base amount of time to wait before attempting to reconnect to a given host. This avoids repeatedly connecting to a host in a tight loop. This backoff applies to all connection attempts by the client to a broker.

解释:

 

--------------------------------------------------------------------

 

名称:

  retry.backoff.ms

优先级:

  low

类型:

  long

默认值:

 100

合法值:

  [0,...]

描述:

  The amount of time to wait before attempting to retry a failed request to a given topic partition. This avoids repeatedly sending requests in a tight loop under some failure scenarios.

解释:

 

 

--------------------------------------------------------------------

 

名称:

  metrics.num.samples

优先级:

  low

类型:

  int

默认值:

  2

合法值:

  [1,...]

描述:

  The number of samples maintained to compute metrics.

解释:

 

--------------------------------------------------------------------

 

名称:

  metrics.recording.level

优先级:

  low

类型:

  string

默认值:

  INFO

合法值:

  [INFO, DEBUG]

描述:

  The highest recording level for metrics.

解释:

 

--------------------------------------------------------------------

 

名称:

  metrics.sample.window.ms

优先级:

  low

类型:

  long

默认值:

  30000

合法值:

  [0,...]

描述:

  The window of time a metrics sample is computed over.

解释:

 

-----------------------------------------------------------

 

安全相关属性

 

名称:

   sasl.kerberos.kinit.cmd

优先级:

  low

类型:

  string

默认值:

  /usr/bin/kinit

合法值:

描述:

  Kerberos kinit command path.

解释:

 

--------------------------------------------------------------------

 

名称:

  sasl.kerberos.min.time.before.relogin

优先级:

  low

类型:

  long

默认值:

  60000

合法值:

描述:

  Login thread sleep time between refresh attempts.

解释:

--------------------------------------------------------------------

 

名称:

  sasl.kerberos.ticket.renew.jitter

优先级:

  low

类型:

  double

默认值:

  0.05

合法值:

描述:

  Percentage of random jitter added to the renewal time.

解释:

 

--------------------------------------------------------------------

 

名称:

  sasl.kerberos.ticket.renew.window.factor

优先级:

  low

类型:

  double

默认值:

  0.8

合法值:

描述:

  Login thread will sleep until the specified window factor of time from last refresh to ticket's expiry has been reached, at which time it will try to renew the ticket.

解释:

 

--------------------------------------------------------------------

 

名称:

  ssl.cipher.suites

优先级:

  low

类型:

  list

默认值:

  null

合法值:

描述:

  A list of cipher suites. This is a named combination of authentication, encryption, MAC and key exchange algorithm used to negotiate the security settings for a network connection using TLS or SSL network protocol. By default all the available cipher suites are supported.

解释:

 

--------------------------------------------------------------------

 

名称:

  ssl.endpoint.identification.algorithm

优先级:

  low

类型:

  string

默认值:

  null

合法值:

描述:

  The endpoint identification algorithm to validate server hostname using server certificate.

解释:

 

--------------------------------------------------------------------

 

名称:

  ssl.keymanager.algorithm

优先级:

  low

类型:

  string

默认值:

  SunX509

合法值:

描述:
  The algorithm used by key manager factory for SSL connections. Default value is the key manager factory algorithm configured for the Java Virtual Machine.

解释:

 

--------------------------------------------------------------------

 

名称:

  ssl.secure.random.implementation

优先级:

  low

类型:

  string

默认值:

  null

合法值:

描述:
    The SecureRandom PRNG implementation to use for SSL cryptography operations.

解释:

 

--------------------------------------------------------------------

 

名称:

  ssl.trustmanager.algorithm

优先级:

  low

类型:

  string

默认值:

  PKIX

合法值:

描述:
     The algorithm used by trust manager factory for SSL connections. Default value is the trust manager factory algorithm configured for the Java Virtual Machine.

解释:

你可能感兴趣的:(Kafka)