-
Notifications
You must be signed in to change notification settings - Fork 298
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
WIP MINOR: Copy over apache/kafka/3.6 docs into master #586
base: asf-site
Are you sure you want to change the base?
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -33,7 +33,7 @@ | |
<!--//#include virtual="../includes/_docs_banner.htm" --> | ||
|
||
<h1>Documentation</h1> | ||
<h3>Kafka 3.6 Documentation</h3> | ||
<h3>Kafka 3.4 Documentation</h3> | ||
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>, | ||
|
@@ -54,12 +54,10 @@ <h3>Kafka 3.6 Documentation</h3> | |
<a href="/26/documentation.html">2.6.X</a>, | ||
<a href="/27/documentation.html">2.7.X</a>, | ||
<a href="/28/documentation.html">2.8.X</a>, | ||
<a href="/30/documentation.html">3.0.X</a>, | ||
<a href="/31/documentation.html">3.1.X</a>, | ||
<a href="/32/documentation.html">3.2.X</a>, | ||
<a href="/33/documentation.html">3.3.X</a>, | ||
<a href="/34/documentation.html">3.4.X</a>, | ||
<a href="/35/documentation.html">3.5.X</a>. | ||
<a href="/30/documentation.html">3.0.X</a>. | ||
<a href="/31/documentation.html">3.1.X</a>. | ||
<a href="/32/documentation.html">3.2.X</a>. | ||
<a href="/33/documentation.html">3.3.X</a>. | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This is the 3.6 docs, so it should point to all previous releases including 3.4 and 3.5. Why are we removing them? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. yes, I don't intend to - I captured it in https://github.com/apache/kafka-site/pull/586/files#r1499488695 - that commit is missing. |
||
|
||
<h2 class="anchor-heading"><a id="gettingStarted" class="anchor-link"></a><a href="#gettingStarted">1. Getting Started</a></h2> | ||
<h3 class="anchor-heading"><a id="introduction" class="anchor-link"></a><a href="#introduction">1.1 Introduction</a></h3> | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -8,7 +8,7 @@ info: | |
name: Apache 2.0 | ||
url: https://www.apache.org/licenses/LICENSE-2.0.html | ||
title: Kafka Connect REST API | ||
version: 3.6.1 | ||
version: 3.6.2-SNAPSHOT | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. shouldn't be snapshot There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Again we don't want this change. The docs should cover the last released version for 3.6, hence 3.6.1. |
||
paths: | ||
/: | ||
get: | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -19,6 +19,6 @@ limitations under the License. | |
var context={ | ||
"version": "36", | ||
"dotVersion": "3.6", | ||
"fullDotVersion": "3.6.1", | ||
"fullDotVersion": "3.6.2-SNAPSHOT", | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. shouldn't be snapshot, I should check out 3.6.1 and build from there I think There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Yes we want this to stay |
||
"scalaVersion": "2.13" | ||
}; |
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -1453,8 +1453,8 @@ <h4 class="anchor-heading"><a id="remote_jmx" class="anchor-link"></a><a href="# | |
</tr> | ||
<tr> | ||
<td>Byte in rate from other brokers</td> | ||
<td>kafka.server:type=BrokerTopicMetrics,name=ReplicationBytesInPerSec</td> | ||
<td>Byte in (from the other brokers) rate across all topics.</td> | ||
<td>kafka.server:type=BrokerTopicMetrics,name=ReplicationBytesInPerSec,topic=([-.\w]+)</td> | ||
<td>Byte in (from the other brokers) rate per topic. Omitting 'topic=(...)' will yield the all-topic rate.</td> | ||
</tr> | ||
<tr> | ||
<td>Controller Request rate from Broker</td> | ||
|
@@ -1537,8 +1537,8 @@ <h4 class="anchor-heading"><a id="remote_jmx" class="anchor-link"></a><a href="# | |
</tr> | ||
<tr> | ||
<td>Byte out rate to other brokers</td> | ||
<td>kafka.server:type=BrokerTopicMetrics,name=ReplicationBytesOutPerSec</td> | ||
<td>Byte out (to the other brokers) rate across all topics</td> | ||
<td>kafka.server:type=BrokerTopicMetrics,name=ReplicationBytesOutPerSec,topic=([-.\w]+)</td> | ||
<td>Byte out (to the other brokers) rate per topic. Omitting 'topic=(...)' will yield the all-topic rate.</td> | ||
</tr> | ||
<tr> | ||
<td>Rejected byte rate</td> | ||
|
@@ -3984,95 +3984,27 @@ <h5 class="anchor-heading"><a id="tiered_storage_config_topic" class="anchor-lin | |
If unset, The value in <code>retention.ms</code> and <code>retention.bytes</code> will be used. | ||
</p> | ||
|
||
<h4 class="anchor-heading"><a id="tiered_storage_config_ex" class="anchor-link"></a><a href="#tiered_storage_config_ex">Quick Start Example</a></h4> | ||
|
||
<p>Apache Kafka doesn't provide an out-of-the-box RemoteStorageManager implementation. To have a preview of the tiered storage | ||
feature, the <a href="https://github.com/apache/kafka/blob/trunk/storage/src/test/java/org/apache/kafka/server/log/remote/storage/LocalTieredStorage.java">LocalTieredStorage</a> | ||
implemented for integration test can be used, which will create a temporary directory in local storage to simulate the remote storage. | ||
</p> | ||
|
||
<p>To adopt the `LocalTieredStorage`, the test library needs to be built locally</p> | ||
<pre># please checkout to the specific version tag you're using before building it | ||
# ex: `git checkout 3.6.1` | ||
./gradlew clean :storage:testJar</pre> | ||
<p>After build successfully, there should be a `kafka-storage-x.x.x-test.jar` file under `storage/build/libs`. | ||
Next, setting configurations in the broker side to enable tiered storage feature.</p> | ||
<h4 class="anchor-heading"><a id="tiered_storage_config_ex" class="anchor-link"></a><a href="#tiered_storage_config_ex">Configurations Example</a></h4> | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 81773f6 was not done in AK 3.6 |
||
|
||
<p>Here is a sample configuration to enable tiered storage feature in broker side: | ||
<pre> | ||
# Sample Zookeeper/Kraft broker server.properties listening on PLAINTEXT://:9092 | ||
remote.log.storage.system.enable=true | ||
|
||
# Setting the listener for the clients in RemoteLogMetadataManager to talk to the brokers. | ||
# Please provide the implementation for remoteStorageManager. This is the mandatory configuration for tiered storage. | ||
# remote.log.storage.manager.class.name=org.apache.kafka.server.log.remote.storage.NoOpRemoteStorageManager | ||
# Using the "PLAINTEXT" listener for the clients in RemoteLogMetadataManager to talk to the brokers. | ||
remote.log.metadata.manager.listener.name=PLAINTEXT | ||
|
||
# Please provide the implementation info for remoteStorageManager. | ||
# This is the mandatory configuration for tiered storage. | ||
# Here, we use the `LocalTieredStorage` built above. | ||
remote.log.storage.manager.class.name=org.apache.kafka.server.log.remote.storage.LocalTieredStorage | ||
remote.log.storage.manager.class.path=/PATH/TO/kafka-storage-x.x.x-test.jar | ||
|
||
# These 2 prefix are default values, but customizable | ||
remote.log.storage.manager.impl.prefix=rsm.config. | ||
remote.log.metadata.manager.impl.prefix=rlmm.config. | ||
|
||
# Configure the directory used for `LocalTieredStorage` | ||
# Note, please make sure the brokers need to have access to this directory | ||
rsm.config.dir=/tmp/kafka-remote-storage | ||
|
||
# This needs to be changed if number of brokers in the cluster is more than 1 | ||
rlmm.config.remote.log.metadata.topic.replication.factor=1 | ||
|
||
# Try to speed up the log retention check interval for testing | ||
log.retention.check.interval.ms=1000 | ||
</pre> | ||
</p> | ||
|
||
<p>Following <a href="#quickstart_startserver">quick start guide</a> to start up the kafka environment. | ||
Then, create a topic with tiered storage enabled with configs: | ||
|
||
<pre> | ||
# remote.storage.enable=true -> enables tiered storage on the topic | ||
# local.retention.ms=1000 -> The number of milliseconds to keep the local log segment before it gets deleted. | ||
Note that a local log segment is eligible for deletion only after it gets uploaded to remote. | ||
# retention.ms=3600000 -> when segments exceed this time, the segments in remote storage will be deleted | ||
# segment.bytes=1048576 -> for test only, to speed up the log segment rolling interval | ||
# file.delete.delay.ms=10000 -> for test only, to speed up the local-log segment file delete delay | ||
|
||
bin/kafka-topics.sh --create --topic tieredTopic --bootstrap-server localhost:9092 \ | ||
--config remote.storage.enable=true --config local.retention.ms=1000 --config retention.ms=3600000 \ | ||
--config segment.bytes=1048576 --config file.delete.delay.ms=1000 | ||
<p>After broker is started, creating a topic with tiered storage enabled, and a small log time retention value to try this feature: | ||
<pre>bin/kafka-topics.sh --create --topic tieredTopic --bootstrap-server localhost:9092 --config remote.storage.enable=true --config local.retention.ms=1000 | ||
</pre> | ||
</p> | ||
|
||
<p>Try to send messages to the `tieredTopic` topic to roll the log segment:</p> | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Seems like this should be kept? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Need to find the commit that introduced this There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Yes I'd keep the larger section we currently have in the docs. |
||
|
||
<pre> | ||
bin/kafka-producer-perf-test.sh --topic tieredTopic --num-records 1200 --record-size 1024 --throughput -1 --producer-props bootstrap.servers=localhost:9092 | ||
</pre> | ||
|
||
<p>Then, after the active segment is rolled, the old segment should be moved to the remote storage and get deleted. | ||
This can be verified by checking the remote log directory configured above. For example: | ||
</p> | ||
|
||
<pre> > ls /tmp/kafka-remote-storage/kafka-tiered-storage/tieredTopic-0-jF8s79t9SrG_PNqlwv7bAA | ||
00000000000000000000-knnxbs3FSRyKdPcSAOQC-w.index | ||
00000000000000000000-knnxbs3FSRyKdPcSAOQC-w.snapshot | ||
00000000000000000000-knnxbs3FSRyKdPcSAOQC-w.leader_epoch_checkpoint | ||
00000000000000000000-knnxbs3FSRyKdPcSAOQC-w.timeindex | ||
00000000000000000000-knnxbs3FSRyKdPcSAOQC-w.log | ||
</pre> | ||
|
||
<p>Lastly, we can try to consume some data from the beginning and print offset number, to make sure it will successfully fetch offset 0 from the remote storage.</p> | ||
|
||
<pre>bin/kafka-console-consumer.sh --topic tieredTopic --from-beginning --max-messages 1 --bootstrap-server localhost:9092 --property print.offset=true</pre> | ||
|
||
<p>Please note, if you want to disable tiered storage at the cluster level, you should delete the tiered storage enabled topics explicitly. | ||
Attempting to disable tiered storage at the cluster level without deleting the topics using tiered storage will result in an exception during startup.</p> | ||
|
||
<pre>bin/kafka-topics.sh --delete --topic tieredTopic --bootstrap-server localhost:9092</pre> | ||
|
||
<p>After topics are deleted, you're safe to set <code>remote.log.storage.system.enable=false</code> in the broker configuration.</p> | ||
|
||
<h4 class="anchor-heading"><a id="tiered_storage_limitation" class="anchor-link"></a><a href="#tiered_storage_limitation">Limitations</a></h4> | ||
|
||
<p>While the early access release of Tiered Storage offers the opportunity to try out this new feature, it is important to be aware of the following limitations: | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this is stale
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
apache/kafka@4302653 is missing in AK/3.6.x
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This does not seem right. This is the 3.6 documentation so it should be
Kafka 3.6
.