Mirror of Apache Kafka
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

190 lines
8.5 KiB

<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<!--#include virtual="../includes/header.html" -->
<h1>Kafka 0.10.0 Documentation</h1>
Prior releases: <a href="/07/documentation.html">0.7.x</a>, <a href="/08/documentation.html">0.8.0</a>, <a href="/081/documentation.html">0.8.1.X</a>, <a href="/082/documentation.html">0.8.2.X</a>, <a href="/090/documentation.html">0.9.0.X</a>.
</ul>
<ul class="toc">
<li><a href="#gettingStarted">1. Getting Started</a>
<ul>
<li><a href="#introduction">1.1 Introduction</a>
<li><a href="#uses">1.2 Use Cases</a>
<li><a href="#quickstart">1.3 Quick Start</a>
<li><a href="#ecosystem">1.4 Ecosystem</a>
<li><a href="#upgrade">1.5 Upgrading</a>
</ul>
</li>
<li><a href="#api">2. API</a>
<ul>
<li><a href="#producerapi">2.1 Producer API</a>
<li><a href="#consumerapi">2.2 Consumer API</a>
<ul>
<li><a href="#highlevelconsumerapi">2.2.1 Old High Level Consumer API</a>
<li><a href="#simpleconsumerapi">2.2.2 Old Simple Consumer API</a>
<li><a href="#newconsumerapi">2.2.3 New Consumer API</a>
</ul>
<li><a href="#streamsapi">2.3 Streams API</a>
</ul>
</li>
<li><a href="#configuration">3. Configuration</a>
<ul>
<li><a href="#brokerconfigs">3.1 Broker Configs</a>
<li><a href="#producerconfigs">3.2 Producer Configs</a>
<li><a href="#consumerconfigs">3.3 Consumer Configs</a>
<ul>
<li><a href="#oldconsumerconfigs">3.3.1 Old Consumer Configs</a>
<li><a href="#newconsumerconfigs">3.3.2 New Consumer Configs</a>
</ul>
<li><a href="#connectconfigs">3.4 Kafka Connect Configs</a>
<li><a href="#streamsconfigs">3.5 Kafka Streams Configs</a>
</ul>
</li>
<li><a href="#design">4. Design</a>
<ul>
<li><a href="#majordesignelements">4.1 Motivation</a>
<li><a href="#persistence">4.2 Persistence</a>
<li><a href="#maximizingefficiency">4.3 Efficiency</a>
<li><a href="#theproducer">4.4 The Producer</a>
<li><a href="#theconsumer">4.5 The Consumer</a>
<li><a href="#semantics">4.6 Message Delivery Semantics</a>
<li><a href="#replication">4.7 Replication</a>
<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="#apidesign">5.1 API Design</a>
<li><a href="#networklayer">5.2 Network Layer</a>
<li><a href="#messages">5.3 Messages</a>
<li><a href="#messageformat">5.4 Message format</a>
<li><a href="#log">5.5 Log</a>
<li><a href="#distributionimpl">5.6 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><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_consumer_lag">Checking consumer position</a>
<li><a href="#basic_ops_mirror_maker">Mirroring data between clusters</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>
</ul>
<li><a href="#datacenters">6.2 Datacenters</a>
<li><a href="#config">6.3 Important Configs</a>
<ul>
<li><a href="#serverconfig">Important Server Configs</a>
<li><a href="#clientconfig">Important Client Configs</a>
<li><a href="#prodconfig">A Production Server Configs</a>
</ul>
<li><a href="#java">6.4 Java Version</a>
<li><a href="#hwandos">6.5 Hardware and OS</a>
<ul>
<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="#ext4">Ext4 Notes</a>
</ul>
<li><a href="#monitoring">6.6 Monitoring</a>
<li><a href="#zk">6.7 ZooKeeper</a>
<ul>
<li><a href="#zkversion">Stable Version</a>
<li><a href="#zkops">Operationalization</a>
</ul>
</ul>
</li>
<li><a href="#security">7. Security</a>
<ul>
<li><a href="#security_overview">7.1 Security Overview</a></li>
<li><a href="#security_ssl">7.2 Encryption and Authentication using SSL</a></li>
<li><a href="#security_sasl">7.3 Authentication using SASL</a></li>
<li><a href="#security_authz">7.4 Authorization and ACLs</a></li>
<li><a href="#zk_authz">7.5 ZooKeeper Authentication</a></li>
<ul>
<li><a href="#zk_authz_new">New Clusters</a></li>
<li><a href="#zk_authz_migration">Migrating Clusters</a></li>
<li><a href="#zk_authz_ensemble">Migrating the ZooKeeper Ensemble</a></li>
</ul>
</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_user">8.2 User Guide</a></li>
<li><a href="#connect_development">8.3 Connector Development Guide</a></li>
</ul>
</li>
<li><a href="#streams">9. Kafka Streams</a>
<ul>
<li><a href="#streams_overview">9.1 Overview</a></li>
<li><a href="#streams_developer">9.2 Developer Guide</a></li>
<ul>
<li><a href="#streams_concepts">Core Concepts</a></li>
<li><a href="#streams_processor">Low-Level Processor API</a></li>
<li><a href="#streams_dsl">High-Level Streams DSL</a></li>
</ul>
</ul>
</li>
</ul>
<h2><a id="gettingStarted" href="#gettingStarted">1. Getting Started</a></h2>
<!--#include virtual="introduction.html" -->
<!--#include virtual="uses.html" -->
<!--#include virtual="quickstart.html" -->
<!--#include virtual="ecosystem.html" -->
<!--#include virtual="upgrade.html" -->
<h2><a id="api" href="#api">2. API</a></h2>
<!--#include virtual="api.html" -->
<h2><a id="configuration" href="#configuration">3. Configuration</a></h2>
<!--#include virtual="configuration.html" -->
<h2><a id="design" href="#design">4. Design</a></h2>
<!--#include virtual="design.html" -->
<h2><a id="implementation" href="#implementation">5. Implementation</a></h2>
<!--#include virtual="implementation.html" -->
<h2><a id="operations" href="#operations">6. Operations</a></h2>
<!--#include virtual="ops.html" -->
<h2><a id="security" href="#security">7. Security</a></h2>
<!--#include virtual="security.html" -->
<h2><a id="connect" href="#connect">8. Kafka Connect</a></h2>
<!--#include virtual="connect.html" -->
<h2><a id="streams" href="#streams">9. Kafka Streams</a></h2>
<!--#include virtual="streams.html" -->
<!--#include virtual="../includes/footer.html" -->