mirror of https://github.com/apache/kafka.git
				
				
				
			KAFKA-15469: Add documentation for configuration providers (#16650)
Reviewers: Mickael Maison <mickael.maison@gmail.com>
This commit is contained in:
		
							parent
							
								
									dcb331c623
								
							
						
					
					
						commit
						37392d9bb7
					
				|  | @ -308,6 +308,126 @@ | |||
|   Below are the configuration properties for Tiered Storage. | ||||
|   <!--#include virtual="generated/remote_log_manager_config.html" --> | ||||
|   <!--#include virtual="generated/remote_log_metadata_manager_config.html" --> | ||||
| </script> | ||||
| 
 | ||||
|   <h3 class="anchor-heading"> | ||||
|     <a id="config_providers" class="anchor-link"></a> | ||||
|     <a href="#config_providers">3.11 Configuration Providers</a> | ||||
|   </h3> | ||||
|    | ||||
|   <p> | ||||
|     Use configuration providers to load configuration data from external sources. This might include sensitive information, such as passwords, API keys, or other credentials. | ||||
|   </p> | ||||
|    | ||||
|   <p>You have the following options:</p> | ||||
|   <ul> | ||||
|     <li> | ||||
|       Use a custom provider by creating a class implementing the | ||||
|       <a href="/{{version}}/javadoc/org/apache/kafka/common/config/provider/ConfigProvider.html"><code>ConfigProvider</code></a> interface and packaging it into a JAR file. | ||||
|     </li> | ||||
|     <li>Use a built-in provider:</li> | ||||
|     <ul> | ||||
|       <li><a href="/{{version}}/javadoc/org/apache/kafka/common/config/provider/DirectoryConfigProvider.html"><code>DirectoryConfigProvider</code></a></li> | ||||
|       <li><a href="/{{version}}/javadoc/org/apache/kafka/common/config/provider/EnvVarConfigProvider.html"><code>EnvVarConfigProvider</code></a></li> | ||||
|       <li><a href="/{{version}}/javadoc/org/apache/kafka/common/config/provider/FileConfigProvider.html"><code>FileConfigProvider</code></a></li> | ||||
|     </ul> | ||||
|   </ul> | ||||
|    | ||||
|   <p> | ||||
|     To use a configuration provider, specify it in your configuration using the <code>config.providers</code> property.  | ||||
|   </p> | ||||
|    | ||||
|   <h4 class="anchor-heading"> | ||||
|     <a id="using_config_providers" class="anchor-link"></a> | ||||
|     <a href="#using_config_providers">Using Configuration Providers</a> | ||||
|   </h4> | ||||
|   <p>Configuration providers allow you to pass parameters and retrieve configuration data from various sources.</p> | ||||
|   <p>To specify configuration providers, you use a comma-separated list of aliases and the fully-qualified class names that implement the configuration providers:</p> | ||||
|   <pre><code>config.providers=provider1,provider2 | ||||
| config.providers.provider1.class=com.example.Provider1 | ||||
| config.providers.provider2.class=com.example.Provider2</code></pre> | ||||
|   <p>Each provider can have its own set of parameters, which are passed in a specific format:</p> | ||||
|   <pre><code>config.providers.<provider_alias>.param.<name>=<value></code></pre> | ||||
|   <p>The <code>ConfigProvider</code> interface serves as a base for all configuration providers.  | ||||
|     Custom implementations of this interface can be created to retrieve configuration data from various sources.  | ||||
|     You can package the implementation as a JAR file, add the JAR to your classpath, and reference the provider's class in your configuration.</p> | ||||
|   <p><b>Example custom provider configuration</b></p> | ||||
|   <pre><code>config.providers=customProvider | ||||
| config.providers.customProvider.class=com.example.customProvider | ||||
| config.providers.customProvider.param.param1=value1 | ||||
| config.providers.customProvider.param.param2=value2</code></pre> | ||||
|    | ||||
|   <h4 class="anchor-heading"> | ||||
|     <a id="directory_config_provider" class="anchor-link"></a> | ||||
|     <a href="#directory_config_provider">DirectoryConfigProvider</a> | ||||
|   </h4> | ||||
|   <p>The <code>DirectoryConfigProvider</code> retrieves configuration data from files stored in a specified directory.</p> | ||||
|   <p>Each file represents a key, and its content is the value. This provider is useful for loading multiple configuration files and for organizing configuration data into separate files.</p> | ||||
|   <p>To restrict the files that the <code>DirectoryConfigProvider</code> can access, use the <code>allowed.paths</code> parameter.  | ||||
|     This parameter accepts a comma-separated list of paths that the provider is allowed to access. If not set, all paths are allowed.</p> | ||||
|   <p><b>Example <code>DirectoryConfigProvider</code> configuration</b></p> | ||||
| <pre><code>config.providers=dirProvider | ||||
| config.providers.dirProvider.class=org.apache.kafka.common.config.provider.DirectoryConfigProvider | ||||
| config.providers.dirProvider.param.allowed.paths=/path/to/dir1,/path/to/dir2</code></pre> | ||||
|   <p> | ||||
|     To reference a value supplied by the <code>DirectoryConfigProvider</code>, use the correct placeholder syntax: | ||||
|   </p> | ||||
| <pre><code>${dirProvider:<path_to_file>:<file_name>}</code></pre> | ||||
|    | ||||
|   <h4 class="anchor-heading"> | ||||
|     <a id="env_var_config_provider" class="anchor-link"></a> | ||||
|     <a href="#env_var_config_provider">EnvVarConfigProvider</a> | ||||
|   </h4> | ||||
|   <p>The <code>EnvVarConfigProvider</code> retrieves configuration data from environment variables.</p> | ||||
|   <p>No specific parameters are required, as it reads directly from the specified environment variables.</p> | ||||
|   <p>This provider is useful for configuring applications running in containers, for example, to load certificates or JAAS configuration from environment variables mapped from secrets.</p> | ||||
|   <p>To restrict which environment variables the <code>EnvVarConfigProvider</code> can access, use the <code>allowlist.pattern</code> parameter. This parameter accepts a regular expression that environment variable names must match to be used by the provider.</p> | ||||
|   <p><b>Example <code>EnvVarConfigProvider</code> configuration</b></p> | ||||
| <pre><code>config.providers=envVarProvider | ||||
| config.providers.envVarProvider.class=org.apache.kafka.common.config.provider.EnvVarConfigProvider | ||||
| config.providers.envVarProvider.param.allowlist.pattern=^MY_ENVAR1_.*</code></pre> | ||||
|   <p> | ||||
|     To reference a value supplied by the <code>EnvVarConfigProvider</code>, use the correct placeholder syntax: | ||||
|   </p> | ||||
| <pre><code>${envVarProvider:<enVar_name>}</code></pre> | ||||
|    | ||||
|   <h4 class="anchor-heading"> | ||||
|     <a id="file_config_provider" class="anchor-link"></a> | ||||
|     <a href="#file_config_provider">FileConfigProvider</a> | ||||
|   </h4> | ||||
|   <p>The <code>FileConfigProvider</code> retrieves configuration data from a single properties file.</p> | ||||
|   <p>This provider is useful for loading configuration data from mounted files.</p> | ||||
|   <p>To restrict the file paths that the <code>FileConfigProvider</code> can access, use the <code>allowed.paths</code> parameter. This parameter accepts a comma-separated list of paths that the provider is allowed to access. If not set, all paths are allowed.</p> | ||||
|   <p><b>Example <code>FileConfigProvider</code> configuration</b></p> | ||||
| <pre><code>config.providers=fileProvider | ||||
| config.providers.fileProvider.class=org.apache.kafka.common.config.provider.FileConfigProvider | ||||
| config.providers.fileProvider.param.allowed.paths=/path/to/config1,/path/to/config2</code></pre> | ||||
|   <p> | ||||
|    To reference a value supplied by the <code>FileConfigProvider</code>, use the correct placeholder syntax: | ||||
|   </p> | ||||
| <pre><code>${fileProvider:<path_and_filename>:<property>}</code></pre> | ||||
|    | ||||
|   <h4 class="anchor-heading"> | ||||
|     <a id="ref_config_provider" class="anchor-link"></a> | ||||
|     <a href="#ref_config_provider">Example: Referencing files</a> | ||||
|   </h4> | ||||
|   <p> | ||||
|     Here’s an example that uses a file configuration provider with Kafka Connect to provide authentication credentials to a database for a connector. | ||||
|   </p> | ||||
|   <p> | ||||
|     First, create a <code>connector-credentials.properties</code> configuration file with the following credentials: | ||||
|   </p> | ||||
|   <pre><code>dbUsername=my-username | ||||
| dbPassword=my-password</code></pre> | ||||
|   <p> | ||||
|     Specify a <code>FileConfigProvider</code> in the Kafka Connect configuration: | ||||
|   </p> | ||||
|   <p><b>Example Kafka Connect configuration with a <code>FileConfigProvider</code></b></p> | ||||
|   <pre><code>config.providers=fileProvider | ||||
| config.providers.fileProvider.class=org.apache.kafka.common.config.provider.FileConfigProvider</code></pre> | ||||
|   <p>Next, reference the properties from the file in the connector configuration.</p> | ||||
|   <p><b>Example connector configuration referencing file properties</b></p> | ||||
|   <pre><code>database.user=${fileProvider:/path/to/connector-credentials.properties:dbUsername} | ||||
| database.password=${fileProvider:/path/to/connector-credentials.properties:dbPassword}</code></pre> | ||||
|   <p>At runtime, the configuration provider reads and extracts the values from the properties file.</p>   | ||||
| </script> | ||||
| <div class="p-configuration"></div> | ||||
|  |  | |||
							
								
								
									
										241
									
								
								docs/toc.html
								
								
								
								
							
							
						
						
									
										241
									
								
								docs/toc.html
								
								
								
								
							|  | @ -29,7 +29,7 @@ | |||
|                 <li><a href="#upgrade">1.5 Upgrading</a> | ||||
|                 <li><a href="#docker">1.6 Docker</a> | ||||
|             </ul> | ||||
|         </li> | ||||
|          | ||||
|         <li><a href="#api">2. APIs</a> | ||||
|             <ul> | ||||
|                 <li><a href="#producerapi">2.1 Producer API</a> | ||||
|  | @ -38,7 +38,7 @@ | |||
|                 <li><a href="#connectapi">2.4 Connect API</a> | ||||
|                 <li><a href="#adminapi">2.5 Admin API</a> | ||||
|             </ul> | ||||
|         </li> | ||||
|          | ||||
|         <li><a href="#configuration">3. Configuration</a> | ||||
|             <ul> | ||||
|                 <li><a href="#brokerconfigs">3.1 Broker Configs</a> | ||||
|  | @ -50,13 +50,22 @@ | |||
|                         <li><a href="#sourceconnectconfigs">Source Connector Configs</a> | ||||
|                         <li><a href="#sinkconnectconfigs">Sink Connector Configs</a> | ||||
|                     </ul> | ||||
|                  | ||||
|                 <li><a href="#streamsconfigs">3.6 Kafka Streams Configs</a> | ||||
|                 <li><a href="#adminclientconfigs">3.7 AdminClient Configs</a> | ||||
|                 <li><a href="#mirrormakerconfigs">3.8 MirrorMaker Configs</a> | ||||
|                 <li><a href="#systemproperties">3.9 System Properties</a> | ||||
|                 <li><a href="#tieredstorageconfigs">3.10 Tiered Storage Configs</a></li> | ||||
|                 <li><a href="#tieredstorageconfigs">3.10 Tiered Storage Configs</a> | ||||
|                 <li><a href="#config_providers">3.11 Configuration Providers</a> | ||||
|                     <ul> | ||||
|                         <li><a href="#using_config_providers">Using Configuration Providers</a> | ||||
|                         <li><a href="#directory_config_provider">DirectoryConfigProvider</a> | ||||
|                         <li><a href="#env_var_config_provider">EnvVarConfigProvider</a>     | ||||
|                         <li><a href="#file_config_provider">FileConfigProvider</a> | ||||
|                         <li><a href="#ref_config_provider">Example: Referencing Files</a>      | ||||
|                     </ul>     | ||||
|             </ul> | ||||
|         </li> | ||||
|          | ||||
|         <li><a href="#design">4. Design</a> | ||||
|             <ul> | ||||
|                 <li><a href="#majordesignelements">4.1 Motivation</a> | ||||
|  | @ -69,7 +78,7 @@ | |||
|                 <li><a href="#compaction">4.8 Log Compaction</a> | ||||
|                 <li><a href="#design_quotas">4.9 Quotas</a> | ||||
|             </ul> | ||||
|         </li> | ||||
|          | ||||
|         <li><a href="#implementation">5. Implementation</a> | ||||
|             <ul> | ||||
|                 <li><a href="#networklayer">5.1 Network Layer</a> | ||||
|  | @ -78,164 +87,168 @@ | |||
|                 <li><a href="#log">5.4 Log</a> | ||||
|                 <li><a href="#distributionimpl">5.5 Distribution</a> | ||||
|             </ul> | ||||
|         </li> | ||||
|          | ||||
|         <li><a href="#operations">6. Operations</a> | ||||
|             <ul> | ||||
|                 <li><a href="#basic_ops">6.1 Basic Kafka Operations</a> | ||||
|                     <ul> | ||||
|                         <li><a href="#basic_ops_add_topic">Adding and removing topics</a></li> | ||||
|                         <li><a href="#basic_ops_modify_topic">Modifying topics</a></li> | ||||
|                         <li><a href="#basic_ops_restarting">Graceful shutdown</a></li> | ||||
|                         <li><a href="#basic_ops_leader_balancing">Balancing leadership</a></li> | ||||
|                         <li><a href="#basic_ops_racks">Balancing Replicas Across Racks</a></li> | ||||
|                         <li><a href="#basic_ops_mirror_maker">Mirroring data between clusters</a></li> | ||||
|                         <li><a href="#basic_ops_consumer_lag">Checking consumer position</a></li> | ||||
|                         <li><a href="#basic_ops_consumer_group">Managing Consumer Groups</a></li> | ||||
|                         <li><a href="#basic_ops_cluster_expansion">Expanding your cluster</a></li> | ||||
|                         <li><a href="#basic_ops_decommissioning_brokers">Decommissioning brokers</a></li> | ||||
|                         <li><a href="#basic_ops_increase_replication_factor">Increasing replication factor</a></li> | ||||
|                         <li><a href="#rep-throttle">Limiting Bandwidth Usage during Data Migration</a></li> | ||||
|                         <li><a href="#quotas">Setting quotas</a></li> | ||||
|                         <li><a href="#basic_ops_add_topic">Adding and removing topics</a> | ||||
|                         <li><a href="#basic_ops_modify_topic">Modifying topics</a> | ||||
|                         <li><a href="#basic_ops_restarting">Graceful shutdown</a> | ||||
|                         <li><a href="#basic_ops_leader_balancing">Balancing leadership</a> | ||||
|                         <li><a href="#basic_ops_racks">Balancing Replicas Across Racks</a> | ||||
|                         <li><a href="#basic_ops_mirror_maker">Mirroring data between clusters</a> | ||||
|                         <li><a href="#basic_ops_consumer_lag">Checking consumer position</a> | ||||
|                         <li><a href="#basic_ops_consumer_group">Managing Consumer Groups</a> | ||||
|                         <li><a href="#basic_ops_cluster_expansion">Expanding your cluster</a> | ||||
|                         <li><a href="#basic_ops_decommissioning_brokers">Decommissioning brokers</a> | ||||
|                         <li><a href="#basic_ops_increase_replication_factor">Increasing replication factor</a> | ||||
|                         <li><a href="#rep-throttle">Limiting Bandwidth Usage during Data Migration</a> | ||||
|                         <li><a href="#quotas">Setting quotas</a> | ||||
|                     </ul> | ||||
|                 </li> | ||||
|                 <li><a href="#datacenters">6.2 Datacenters</a></li> | ||||
|                  | ||||
|                 <li><a href="#datacenters">6.2 Datacenters</a> | ||||
|                 <li><a href="#georeplication">6.3 Geo-Replication (Cross-Cluster Data Mirroring)</a> | ||||
|                     <ul> | ||||
|                         <li><a href="#georeplication-overview">Geo-Replication Overview</a></li> | ||||
|                         <li><a href="#georeplication-flows">What Are Replication Flows</a></li> | ||||
|                         <li><a href="#georeplication-mirrormaker">Configuring Geo-Replication</a></li> | ||||
|                         <li><a href="#georeplication-starting">Starting Geo-Replication</a></li> | ||||
|                         <li><a href="#georeplication-stopping">Stopping Geo-Replication</a></li> | ||||
|                         <li><a href="#georeplication-apply-config-changes">Applying Configuration Changes</a></li> | ||||
|                         <li><a href="#georeplication-monitoring">Monitoring Geo-Replication</a></li> | ||||
|                         <li><a href="#georeplication-overview">Geo-Replication Overview</a> | ||||
|                         <li><a href="#georeplication-flows">What Are Replication Flows</a> | ||||
|                         <li><a href="#georeplication-mirrormaker">Configuring Geo-Replication</a> | ||||
|                         <li><a href="#georeplication-starting">Starting Geo-Replication</a> | ||||
|                         <li><a href="#georeplication-stopping">Stopping Geo-Replication</a> | ||||
|                         <li><a href="#georeplication-apply-config-changes">Applying Configuration Changes</a> | ||||
|                         <li><a href="#georeplication-monitoring">Monitoring Geo-Replication</a> | ||||
|                     </ul> | ||||
|                 </li> | ||||
|                  | ||||
|                 <li><a href="#multitenancy">6.4 Multi-Tenancy</a> | ||||
|                     <ul> | ||||
|                         <li><a href="#multitenancy-overview">Multi-Tenancy Overview</a></li> | ||||
|                         <li><a href="#multitenancy-topic-naming">Creating User Spaces (Namespaces)</a></li> | ||||
|                         <li><a href="#multitenancy-topic-configs">Configuring Topics</a></li> | ||||
|                         <li><a href="#multitenancy-security">Securing Clusters and Topics</a></li> | ||||
|                         <li><a href="#multitenancy-isolation">Isolating Tenants</a></li> | ||||
|                         <li><a href="#multitenancy-monitoring">Monitoring and Metering</a></li> | ||||
|                         <li><a href="#multitenancy-georeplication">Multi-Tenancy and Geo-Replication</a></li> | ||||
|                         <li><a href="#multitenancy-more">Further considerations</a></li> | ||||
|                         <li><a href="#multitenancy-overview">Multi-Tenancy Overview</a> | ||||
|                         <li><a href="#multitenancy-topic-naming">Creating User Spaces (Namespaces)</a> | ||||
|                         <li><a href="#multitenancy-topic-configs">Configuring Topics</a> | ||||
|                         <li><a href="#multitenancy-security">Securing Clusters and Topics</a> | ||||
|                         <li><a href="#multitenancy-isolation">Isolating Tenants</a> | ||||
|                         <li><a href="#multitenancy-monitoring">Monitoring and Metering</a> | ||||
|                         <li><a href="#multitenancy-georeplication">Multi-Tenancy and Geo-Replication</a> | ||||
|                         <li><a href="#multitenancy-more">Further considerations</a> | ||||
|                     </ul> | ||||
|                 </li> | ||||
|                  | ||||
|                 <li><a href="#config">6.5 Important Configs</a> | ||||
|                     <ul> | ||||
|                         <li><a href="#clientconfig">Important Client Configs</a> | ||||
|                         <li><a href="#prodconfig">A Production Server Configs</a> | ||||
|                     </ul> | ||||
|                 </li> | ||||
|                  | ||||
|                 <li><a href="#java">6.6 Java Version</a> | ||||
|                 <li><a href="#hwandos">6.7 Hardware and OS</a> | ||||
|                     <ul> | ||||
|                         <li><a href="#os">OS</a></li> | ||||
|                         <li><a href="#diskandfs">Disks and Filesystems</a></li> | ||||
|                         <li><a href="#appvsosflush">Application vs OS Flush Management</a></li> | ||||
|                         <li><a href="#linuxflush">Linux Flush Behavior</a></li> | ||||
|                         <li><a href="#filesystems">Filesystem Selection</a></li> | ||||
|                         <li><a href="#replace_disk">Replace KRaft Controller Disk</a></li> | ||||
|                         <li><a href="#os">OS</a> | ||||
|                         <li><a href="#diskandfs">Disks and Filesystems</a> | ||||
|                         <li><a href="#appvsosflush">Application vs OS Flush Management</a> | ||||
|                         <li><a href="#linuxflush">Linux Flush Behavior</a> | ||||
|                         <li><a href="#filesystems">Filesystem Selection</a> | ||||
|                         <li><a href="#replace_disk">Replace KRaft Controller Disk</a> | ||||
|                     </ul> | ||||
|                 </li> | ||||
|                  | ||||
|                 <li><a href="#monitoring">6.8 Monitoring</a> | ||||
|                     <ul> | ||||
|                         <li><a href="#remote_jmx">Security Considerations for Remote Monitoring using JMX</a></li> | ||||
|                         <li><a href="#tiered_storage_monitoring">Tiered Storage Monitoring</a></li> | ||||
|                         <li><a href="#kraft_monitoring">KRaft Monitoring</a></li> | ||||
|                         <li><a href="#selector_monitoring">Selector Monitoring</a></li> | ||||
|                         <li><a href="#common_node_monitoring">Common Node Monitoring</a></li> | ||||
|                         <li><a href="#producer_monitoring">Producer Monitoring</a></li> | ||||
|                         <li><a href="#consumer_monitoring">Consumer Monitoring</a></li> | ||||
|                         <li><a href="#connect_monitoring">Connect Monitoring</a></li> | ||||
|                         <li><a href="#kafka_streams_monitoring">Streams Monitoring</a></li> | ||||
|                         <li><a href="#others_monitoring">Others</a></li> | ||||
|                         <li><a href="#remote_jmx">Security Considerations for Remote Monitoring using JMX</a> | ||||
|                         <li><a href="#tiered_storage_monitoring">Tiered Storage Monitoring</a> | ||||
|                         <li><a href="#kraft_monitoring">KRaft Monitoring</a> | ||||
|                         <li><a href="#selector_monitoring">Selector Monitoring</a> | ||||
|                         <li><a href="#common_node_monitoring">Common Node Monitoring</a> | ||||
|                         <li><a href="#producer_monitoring">Producer Monitoring</a> | ||||
|                         <li><a href="#consumer_monitoring">Consumer Monitoring</a> | ||||
|                         <li><a href="#connect_monitoring">Connect Monitoring</a> | ||||
|                         <li><a href="#kafka_streams_monitoring">Streams Monitoring</a> | ||||
|                         <li><a href="#others_monitoring">Others</a> | ||||
|                     </ul> | ||||
|                 </li> | ||||
|                  | ||||
|                 <li><a href="#zk">6.9 ZooKeeper</a> | ||||
|                     <ul> | ||||
|                         <li><a href="#zkversion">Stable Version</a> | ||||
| 			<li><a href="#zk_depr">ZooKeeper Deprecation</a> | ||||
|                         <li><a href="#zk_depr">ZooKeeper Deprecation</a> | ||||
|                         <li><a href="#zkops">Operationalization</a> | ||||
|                     </ul> | ||||
|                 </li> | ||||
|                  | ||||
|                 <li><a href="#kraft">6.10 KRaft</a> | ||||
|                     <ul> | ||||
|                         <li><a href="#kraft_config">Configuration</a></li> | ||||
|                         <li><a href="#kraft_storage">Storage Tool</a></li> | ||||
|                         <li><a href="#kraft_debug">Debugging</a></li> | ||||
|                         <li><a href="#kraft_deployment">Deploying Considerations</a></li> | ||||
|                         <li><a href="#kraft_missing">Missing Features</a></li> | ||||
|                         <li><a href="#kraft_zk_migration">ZooKeeper to KRaft Migration</a></li> | ||||
|                         <li><a href="#kraft_config">Configuration</a> | ||||
|                         <li><a href="#kraft_storage">Storage Tool</a> | ||||
|                         <li><a href="#kraft_debug">Debugging</a> | ||||
|                         <li><a href="#kraft_deployment">Deploying Considerations</a> | ||||
|                         <li><a href="#kraft_missing">Missing Features</a> | ||||
|                         <li><a href="#kraft_zk_migration">ZooKeeper to KRaft Migration</a> | ||||
|                     </ul> | ||||
|                 </li> | ||||
|                  | ||||
|                 <li><a href="#tiered_storage">6.11 Tiered Storage</a> | ||||
|                     <ul> | ||||
|                         <li><a href="#tiered_storage_overview">Tiered Storage Overview</a></li> | ||||
|                         <li><a href="#tiered_storage_config">Configuration</a></li> | ||||
|                         <li><a href="#tiered_storage_config_ex">Quick Start Example</a></li> | ||||
|                         <li><a href="#tiered_storage_limitation">Limitations</a></li> | ||||
|                         <li><a href="#tiered_storage_overview">Tiered Storage Overview</a> | ||||
|                         <li><a href="#tiered_storage_config">Configuration</a> | ||||
|                         <li><a href="#tiered_storage_config_ex">Quick Start Example</a> | ||||
|                         <li><a href="#tiered_storage_limitation">Limitations</a> | ||||
|                     </ul> | ||||
|                 </li> | ||||
|                  | ||||
|             </ul> | ||||
|         </li> | ||||
|          | ||||
|         <li><a href="#security">7. Security</a> | ||||
|             <ul> | ||||
|                 <li><a href="#security_overview">7.1 Security Overview</a></li> | ||||
|                 <li><a href="#listener_configuration">7.2 Listener Configuration</a></li> | ||||
|                 <li><a href="#security_ssl">7.3 Encryption and Authentication using SSL</a></li> | ||||
|                 <li><a href="#security_sasl">7.4 Authentication using SASL</a></li> | ||||
|                 <li><a href="#security_authz">7.5 Authorization and ACLs</a></li> | ||||
|                 <li><a href="#security_rolling_upgrade">7.6 Incorporating Security Features in a Running Cluster</a></li> | ||||
|                 <li><a href="#security_overview">7.1 Security Overview</a> | ||||
|                 <li><a href="#listener_configuration">7.2 Listener Configuration</a> | ||||
|                 <li><a href="#security_ssl">7.3 Encryption and Authentication using SSL</a> | ||||
|                 <li><a href="#security_sasl">7.4 Authentication using SASL</a> | ||||
|                 <li><a href="#security_authz">7.5 Authorization and ACLs</a> | ||||
|                 <li><a href="#security_rolling_upgrade">7.6 Incorporating Security Features in a Running Cluster</a> | ||||
|                 <li><a href="#zk_authz">7.7 ZooKeeper Authentication</a> | ||||
|                 <ul> | ||||
|                     <li><a href="#zk_authz_new">New Clusters</a> | ||||
|                     <ul> | ||||
|                         <li><a href="#zk_authz_new_sasl">ZooKeeper SASL Authentication</a></li> | ||||
|                         <li><a href="#zk_authz_new_mtls">ZooKeeper Mutual TLS Authentication</a></li> | ||||
|                         <li><a href="#zk_authz_new">New Clusters</a> | ||||
|                             <ul> | ||||
|                                 <li><a href="#zk_authz_new_sasl">ZooKeeper SASL Authentication</a> | ||||
|                                 <li><a href="#zk_authz_new_mtls">ZooKeeper Mutual TLS Authentication</a> | ||||
|                             </ul> | ||||
|                          | ||||
|                         <li><a href="#zk_authz_migration">Migrating Clusters</a> | ||||
|                         <li><a href="#zk_authz_ensemble">Migrating the ZooKeeper Ensemble</a> | ||||
|                         <li><a href="#zk_authz_quorum">ZooKeeper Quorum Mutual TLS Authentication</a> | ||||
|                     </ul> | ||||
|                     <li><a href="#zk_authz_migration">Migrating Clusters</a></li> | ||||
|                     <li><a href="#zk_authz_ensemble">Migrating the ZooKeeper Ensemble</a></li> | ||||
|                     <li><a href="#zk_authz_quorum">ZooKeeper Quorum Mutual TLS Authentication</a></li> | ||||
|                 </ul> | ||||
|                 <li><a href="#zk_encryption">7.8 ZooKeeper Encryption</a></li> | ||||
|                  | ||||
|                 <li><a href="#zk_encryption">7.8 ZooKeeper Encryption</a> | ||||
|             </ul> | ||||
|         </li> | ||||
|          | ||||
|         <li><a href="#connect">8. Kafka Connect</a> | ||||
|             <ul> | ||||
|                 <li><a href="#connect_overview">8.1 Overview</a></li> | ||||
|                 <li><a href="#connect_overview">8.1 Overview</a> | ||||
|                 <li><a href="#connect_user">8.2 User Guide</a> | ||||
|                 <ul> | ||||
|                     <li><a href="#connect_running">Running Kafka Connect</a></li> | ||||
|                     <li><a href="#connect_configuring">Configuring Connectors</a></li> | ||||
|                     <li><a href="#connect_transforms">Transformations</a></li> | ||||
|                     <li><a href="#connect_rest">REST API</a></li> | ||||
|                     <li><a href="#connect_errorreporting">Error Reporting in Connect</a></li> | ||||
|                     <li><a href="#connect_exactlyonce">Exactly-once support</a></li> | ||||
|                     <li><a href="#connect_plugindiscovery">Plugin Discovery</a></li> | ||||
|                 </ul> | ||||
|                     <ul> | ||||
|                         <li><a href="#connect_running">Running Kafka Connect</a> | ||||
|                         <li><a href="#connect_configuring">Configuring Connectors</a> | ||||
|                         <li><a href="#connect_transforms">Transformations</a> | ||||
|                         <li><a href="#connect_rest">REST API</a> | ||||
|                         <li><a href="#connect_errorreporting">Error Reporting in Connect</a> | ||||
|                         <li><a href="#connect_exactlyonce">Exactly-once support</a> | ||||
|                         <li><a href="#connect_plugindiscovery">Plugin Discovery</a> | ||||
|                     </ul> | ||||
|                  | ||||
|                 <li><a href="#connect_development">8.3 Connector Development Guide</a> | ||||
|                 <ul> | ||||
|                     <li><a href="#connect_concepts">Core Concepts and APIs</a></li> | ||||
|                     <li><a href="#connect_developing">Developing a Simple Connector</a></li> | ||||
|                     <li><a href="#connect_dynamicio">Dynamic Input/Output Streams</a></li> | ||||
|                     <li><a href="#connect_configs">Configuration Validation</a></li> | ||||
|                     <li><a href="#connect_schemas">Working with Schemas</a></li> | ||||
|                 </ul> | ||||
|                 <li><a href="#connect_administration">8.4 Administration</a></li> | ||||
|                     <ul> | ||||
|                         <li><a href="#connect_concepts">Core Concepts and APIs</a> | ||||
|                         <li><a href="#connect_developing">Developing a Simple Connector</a> | ||||
|                         <li><a href="#connect_dynamicio">Dynamic Input/Output Streams</a> | ||||
|                         <li><a href="#connect_configs">Configuration Validation</a> | ||||
|                         <li><a href="#connect_schemas">Working with Schemas</a> | ||||
|                     </ul> | ||||
|                  | ||||
|                 <li><a href="#connect_administration">8.4 Administration</a> | ||||
|             </ul> | ||||
|         </li> | ||||
|          | ||||
|         <li><a href="/{{version}}/documentation/streams">9. Kafka Streams</a> | ||||
|             <ul> | ||||
|                 <li><a href="/{{version}}/documentation/streams/quickstart">9.1 Play with a Streams Application</a></li> | ||||
|                 <li><a href="/{{version}}/documentation/streams/tutorial">9.2 Write your own Streams Applications</a></li> | ||||
|                 <li><a href="/{{version}}/documentation/streams/developer-guide">9.3 Developer Manual</a></li> | ||||
|                 <li><a href="/{{version}}/documentation/streams/core-concepts">9.4 Core Concepts</a></li> | ||||
|                 <li><a href="/{{version}}/documentation/streams/architecture">9.5 Architecture</a></li> | ||||
|                 <li><a href="/{{version}}/documentation/streams/upgrade-guide">9.6 Upgrade Guide</a></li> | ||||
|                 <li><a href="/{{version}}/documentation/streams/quickstart">9.1 Play with a Streams Application</a> | ||||
|                 <li><a href="/{{version}}/documentation/streams/tutorial">9.2 Write your own Streams Applications</a> | ||||
|                 <li><a href="/{{version}}/documentation/streams/developer-guide">9.3 Developer Manual</a> | ||||
|                 <li><a href="/{{version}}/documentation/streams/core-concepts">9.4 Core Concepts</a> | ||||
|                 <li><a href="/{{version}}/documentation/streams/architecture">9.5 Architecture</a> | ||||
|                 <li><a href="/{{version}}/documentation/streams/upgrade-guide">9.6 Upgrade Guide</a> | ||||
|             </ul> | ||||
|         </li> | ||||
|          | ||||
|     </ul> | ||||
| 
 | ||||
| </script> | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue