<table class="data-table"><tbody>
<tr>
<th>Name</th>
<th>Description</th>
<th>Type</th>
<th>Default</th>
<th>Valid Values</th>
<th>Importance</th>
</tr>
<tr>
<td>bootstrap.servers</td></td><td>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&mdash;this list only impacts the initial hosts used to discover the full set of servers. This list should be in the form <code>host1:port1,host2:port2,...</code>. 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).</td></td><td>list</td></td><td></td></td><td></td></td><td>high</td></td></tr>
<tr>
<td>ssl.key.password</td></td><td>The password of the private key in the key store file. This is optional for client.</td></td><td>password</td></td><td>null</td></td><td></td></td><td>high</td></td></tr>
<tr>
<td>ssl.keystore.location</td></td><td>The location of the key store file. This is optional for client and can be used for two-way authentication for client.</td></td><td>string</td></td><td>null</td></td><td></td></td><td>high</td></td></tr>
<tr>
<td>ssl.keystore.password</td></td><td>The store password for the key store file. This is optional for client and only needed if ssl.keystore.location is configured. </td></td><td>password</td></td><td>null</td></td><td></td></td><td>high</td></td></tr>
<tr>
<td>ssl.truststore.location</td></td><td>The location of the trust store file. </td></td><td>string</td></td><td>null</td></td><td></td></td><td>high</td></td></tr>
<tr>
<td>ssl.truststore.password</td></td><td>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.</td></td><td>password</td></td><td>null</td></td><td></td></td><td>high</td></td></tr>
<tr>
<td>client.id</td></td><td>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.</td></td><td>string</td></td><td>""</td></td><td></td></td><td>medium</td></td></tr>
<tr>
<td>connections.max.idle.ms</td></td><td>Close idle connections after the number of milliseconds specified by this config.</td></td><td>long</td></td><td>300000</td></td><td></td></td><td>medium</td></td></tr>
<tr>
<td>receive.buffer.bytes</td></td><td>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.</td></td><td>int</td></td><td>65536</td></td><td>[-1,...]</td></td><td>medium</td></td></tr>
<tr>
<td>request.timeout.ms</td></td><td>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.</td></td><td>int</td></td><td>120000</td></td><td>[0,...]</td></td><td>medium</td></td></tr>
<tr>
<td>sasl.jaas.config</td></td><td>JAAS login context parameters for SASL connections in the format used by JAAS configuration files. JAAS configuration file format is described <a href="http://docs.oracle.com/javase/8/docs/technotes/guides/security/jgss/tutorials/LoginConfigFile.html">here</a>. The format for the value is: '<loginModuleClass> <controlFlag> (<optionName>=<optionValue>)*;'</td></td><td>password</td></td><td>null</td></td><td></td></td><td>medium</td></td></tr>
<tr>
<td>sasl.kerberos.service.name</td></td><td>The Kerberos principal name that Kafka runs as. This can be defined either in Kafka's JAAS config or in Kafka's config.</td></td><td>string</td></td><td>null</td></td><td></td></td><td>medium</td></td></tr>
<tr>
<td>sasl.mechanism</td></td><td>SASL mechanism used for client connections. This may be any mechanism for which a security provider is available. GSSAPI is the default mechanism.</td></td><td>string</td></td><td>GSSAPI</td></td><td></td></td><td>medium</td></td></tr>
<tr>
<td>security.protocol</td></td><td>Protocol used to communicate with brokers. Valid values are: PLAINTEXT, SSL, SASL_PLAINTEXT, SASL_SSL.</td></td><td>string</td></td><td>PLAINTEXT</td></td><td></td></td><td>medium</td></td></tr>
<tr>
<td>send.buffer.bytes</td></td><td>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.</td></td><td>int</td></td><td>131072</td></td><td>[-1,...]</td></td><td>medium</td></td></tr>
<tr>
<td>ssl.enabled.protocols</td></td><td>The list of protocols enabled for SSL connections.</td></td><td>list</td></td><td>TLSv1.2,TLSv1.1,TLSv1</td></td><td></td></td><td>medium</td></td></tr>
<tr>
<td>ssl.keystore.type</td></td><td>The file format of the key store file. This is optional for client.</td></td><td>string</td></td><td>JKS</td></td><td></td></td><td>medium</td></td></tr>
<tr>
<td>ssl.protocol</td></td><td>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.</td></td><td>string</td></td><td>TLS</td></td><td></td></td><td>medium</td></td></tr>
<tr>
<td>ssl.provider</td></td><td>The name of the security provider used for SSL connections. Default value is the default security provider of the JVM.</td></td><td>string</td></td><td>null</td></td><td></td></td><td>medium</td></td></tr>
<tr>
<td>ssl.truststore.type</td></td><td>The file format of the trust store file.</td></td><td>string</td></td><td>JKS</td></td><td></td></td><td>medium</td></td></tr>
<tr>
<td>metadata.max.age.ms</td></td><td>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.</td></td><td>long</td></td><td>300000</td></td><td>[0,...]</td></td><td>low</td></td></tr>
<tr>
<td>metric.reporters</td></td><td>A list of classes to use as metrics reporters. Implementing the <code>org.apache.kafka.common.metrics.MetricsReporter</code> interface allows plugging in classes that will be notified of new metric creation. The JmxReporter is always included to register JMX statistics.</td></td><td>list</td></td><td>""</td></td><td></td></td><td>low</td></td></tr>
<tr>
<td>metrics.num.samples</td></td><td>The number of samples maintained to compute metrics.</td></td><td>int</td></td><td>2</td></td><td>[1,...]</td></td><td>low</td></td></tr>
<tr>
<td>metrics.recording.level</td></td><td>The highest recording level for metrics.</td></td><td>string</td></td><td>INFO</td></td><td>[INFO, DEBUG]</td></td><td>low</td></td></tr>
<tr>
<td>metrics.sample.window.ms</td></td><td>The window of time a metrics sample is computed over.</td></td><td>long</td></td><td>30000</td></td><td>[0,...]</td></td><td>low</td></td></tr>
<tr>
<td>reconnect.backoff.max.ms</td></td><td>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.</td></td><td>long</td></td><td>1000</td></td><td>[0,...]</td></td><td>low</td></td></tr>
<tr>
<td>reconnect.backoff.ms</td></td><td>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.</td></td><td>long</td></td><td>50</td></td><td>[0,...]</td></td><td>low</td></td></tr>
<tr>
<td>retries</td></td><td>Setting a value greater than zero will cause the client to resend any request that fails with a potentially transient error.</td></td><td>int</td></td><td>5</td></td><td>[0,...]</td></td><td>low</td></td></tr>
<tr>
<td>retry.backoff.ms</td></td><td>The amount of time to wait before attempting to retry a failed request. This avoids repeatedly sending requests in a tight loop under some failure scenarios.</td></td><td>long</td></td><td>100</td></td><td>[0,...]</td></td><td>low</td></td></tr>
<tr>
<td>sasl.kerberos.kinit.cmd</td></td><td>Kerberos kinit command path.</td></td><td>string</td></td><td>/usr/bin/kinit</td></td><td></td></td><td>low</td></td></tr>
<tr>
<td>sasl.kerberos.min.time.before.relogin</td></td><td>Login thread sleep time between refresh attempts.</td></td><td>long</td></td><td>60000</td></td><td></td></td><td>low</td></td></tr>
<tr>
<td>sasl.kerberos.ticket.renew.jitter</td></td><td>Percentage of random jitter added to the renewal time.</td></td><td>double</td></td><td>0.05</td></td><td></td></td><td>low</td></td></tr>
<tr>
<td>sasl.kerberos.ticket.renew.window.factor</td></td><td>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.</td></td><td>double</td></td><td>0.8</td></td><td></td></td><td>low</td></td></tr>
<tr>
<td>ssl.cipher.suites</td></td><td>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.</td></td><td>list</td></td><td>null</td></td><td></td></td><td>low</td></td></tr>
<tr>
<td>ssl.endpoint.identification.algorithm</td></td><td>The endpoint identification algorithm to validate server hostname using server certificate. </td></td><td>string</td></td><td>null</td></td><td></td></td><td>low</td></td></tr>
<tr>
<td>ssl.keymanager.algorithm</td></td><td>The algorithm used by key manager factory for SSL connections. Default value is the key manager factory algorithm configured for the Java Virtual Machine.</td></td><td>string</td></td><td>SunX509</td></td><td></td></td><td>low</td></td></tr>
<tr>
<td>ssl.secure.random.implementation</td></td><td>The SecureRandom PRNG implementation to use for SSL cryptography operations. </td></td><td>string</td></td><td>null</td></td><td></td></td><td>low</td></td></tr>
<tr>
<td>ssl.trustmanager.algorithm</td></td><td>The algorithm used by trust manager factory for SSL connections. Default value is the trust manager factory algorithm configured for the Java Virtual Machine.</td></td><td>string</td></td><td>PKIX</td></td><td></td></td><td>low</td></td></tr>
</tbody></table>
