Skip to content

Commit f4ce123

Browse files
mimaisonchia7712
authored andcommitted
MINOR: Cleanups in ops docs (#20532)
- Fix typo in `process.role` - Fix formatting of quorum description commands Reviewers: Lan Ding <[email protected]>, Ken Huang <[email protected]>, TengYao Chi <[email protected]>
1 parent 9575cbb commit f4ce123

File tree

1 file changed

+27
-37
lines changed

1 file changed

+27
-37
lines changed

docs/ops.html

Lines changed: 27 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -4072,42 +4072,32 @@ <h5 class="anchor-heading"><a id="static_versus_dynamic_kraft_quorums" class="an
40724072
If you are not sure whether you are using static or dynamic quorums, you can determine this by
40734073
running something like the following:<p>
40744074

4075-
<pre><code class="language-bash">
4076-
$ bin/kafka-features.sh --bootstrap-controller localhost:9093 describe
4077-
</code></pre><p>
4078-
4079-
If the <code>kraft.version</code> field is level 0 or absent, you are using a static quorum. If
4080-
it is 1 or above, you are using a dynamic quorum. For example, here is an example of a static
4081-
quorum:<p/>
4082-
<pre><code class="language-bash">
4083-
Feature: kraft.version SupportedMinVersion: 0 SupportedMaxVersion: 1 FinalizedVersionLevel: 0 Epoch: 5
4084-
Feature: metadata.version SupportedMinVersion: 3.3-IV3 SupportedMaxVersion: 3.9-IV0 FinalizedVersionLevel: 3.9-IV0 Epoch: 5
4085-
</code></pre><p/>
4086-
4087-
Here is another example of a static quorum:<p/>
4088-
<pre><code class="language-bash">
4089-
Feature: metadata.version SupportedMinVersion: 3.3-IV3 SupportedMaxVersion: 3.8-IV0 FinalizedVersionLevel: 3.8-IV0 Epoch: 5
4090-
</code></pre><p/>
4091-
4092-
Here is an example of a dynamic quorum:<p/>
4093-
<pre><code class="language-bash">
4094-
Feature: kraft.version SupportedMinVersion: 0 SupportedMaxVersion: 1 FinalizedVersionLevel: 1 Epoch: 5
4095-
Feature: metadata.version SupportedMinVersion: 3.3-IV3 SupportedMaxVersion: 3.9-IV0 FinalizedVersionLevel: 3.9-IV0 Epoch: 5
4096-
</code></pre><p/>
4097-
4098-
The static versus dynamic nature of the quorum is determined at the time of formatting.
4099-
Specifically, the quorum will be formatted as dynamic if <code>controller.quorum.voters</code> is
4100-
<b>not</b> present, and if the software version is Apache Kafka 3.9 or newer. If you have
4101-
followed the instructions earlier in this document, you will get a dynamic quorum.<p>
4102-
4103-
If you would like the formatting process to fail if a dynamic quorum cannot be achieved, format your
4104-
controllers using the <code>--feature kraft.version=1</code>. (Note that you should not supply
4105-
this flag when formatting brokers -- only when formatting controllers.)<p>
4106-
4107-
<pre><code class="language-bash">
4108-
$ bin/kafka-storage.sh format -t KAFKA_CLUSTER_ID --feature kraft.version=1 -c controller.properties
4109-
</code></pre><p>
4075+
<pre><code class="language-bash">$ bin/kafka-features.sh --bootstrap-controller localhost:9093 describe</code></pre>
4076+
<p>
4077+
If the <code>kraft.version</code> field is level 0 or absent, you are using a static quorum. If
4078+
it is 1 or above, you are using a dynamic quorum. For example, here is an example of a static
4079+
quorum:<p>
4080+
<pre><code class="language-bash">Feature: kraft.version SupportedMinVersion: 0 SupportedMaxVersion: 1 FinalizedVersionLevel: 0 Epoch: 5
4081+
Feature: metadata.version SupportedMinVersion: 3.3-IV3 SupportedMaxVersion: 3.9-IV0 FinalizedVersionLevel: 3.9-IV0 Epoch: 5</code></pre>
4082+
<p>
4083+
Here is another example of a static quorum:<p>
4084+
<pre><code class="language-bash">Feature: metadata.version SupportedMinVersion: 3.3-IV3 SupportedMaxVersion: 3.8-IV0 FinalizedVersionLevel: 3.8-IV0 Epoch: 5</code></pre>
4085+
<p>
4086+
Here is an example of a dynamic quorum:<p>
4087+
<pre><code class="language-bash">Feature: kraft.version SupportedMinVersion: 0 SupportedMaxVersion: 1 FinalizedVersionLevel: 1 Epoch: 5
4088+
Feature: metadata.version SupportedMinVersion: 3.3-IV3 SupportedMaxVersion: 3.9-IV0 FinalizedVersionLevel: 3.9-IV0 Epoch: 5</code></pre>
4089+
<p>
4090+
The static versus dynamic nature of the quorum is determined at the time of formatting.
4091+
Specifically, the quorum will be formatted as dynamic if <code>controller.quorum.voters</code> is
4092+
<b>not</b> present, and if the software version is Apache Kafka 3.9 or newer. If you have
4093+
followed the instructions earlier in this document, you will get a dynamic quorum.<p>
4094+
4095+
If you would like the formatting process to fail if a dynamic quorum cannot be achieved, format your
4096+
controllers using the <code>--feature kraft.version=1</code>. (Note that you should not supply
4097+
this flag when formatting brokers -- only when formatting controllers.)<p>
41104098

4099+
<pre><code class="language-bash">$ bin/kafka-storage.sh format -t KAFKA_CLUSTER_ID --feature kraft.version=1 -c controller.properties</code></pre>
4100+
<p>
41114101
Note: To migrate from static voter set to dynamic voter set, please refer to the <a href="#kraft_upgrade">Upgrade</a> section.
41124102

41134103
<h5 class="anchor-heading"><a id="kraft_reconfig_add" class="anchor-link"></a><a href="#kraft_reconfig_add">Add New Controller</a></h5>
@@ -4156,7 +4146,7 @@ <h5 class="anchor-heading"><a id="kraft_dump_log" class="anchor-link"></a><a hre
41564146

41574147
<pre><code class="language-bash">$ bin/kafka-dump-log.sh --cluster-metadata-decoder --files metadata_log_dir/__cluster_metadata-0/00000000000000000000.log</code></pre>
41584148

4159-
<p>This command decodes and prints the records in the a cluster metadata snapshot:</p>
4149+
<p>This command decodes and prints the records in a cluster metadata snapshot:</p>
41604150

41614151
<pre><code class="language-bash">$ bin/kafka-dump-log.sh --cluster-metadata-decoder --files metadata_log_dir/__cluster_metadata-0/00000000000000000100-0000000001.checkpoint</code></pre>
41624152

@@ -4186,7 +4176,7 @@ <h5 class="anchor-heading"><a id="kraft_shell_tool" class="anchor-link"></a><a h
41864176
<h4 class="anchor-heading"><a id="kraft_deployment" class="anchor-link"></a><a href="#kraft_deployment">Deploying Considerations</a></h4>
41874177

41884178
<ul>
4189-
<li>Kafka server's <code>process.role</code> should be set to either <code>broker</code> or <code>controller</code> but not both. Combined mode can be used in development environments, but it should be avoided in critical deployment environments.</li>
4179+
<li>Kafka server's <code>process.roles</code> should be set to either <code>broker</code> or <code>controller</code> but not both. Combined mode can be used in development environments, but it should be avoided in critical deployment environments.</li>
41904180
<li>For redundancy, a Kafka cluster should use 3 or more controllers, depending on factors like cost and the number of concurrent failures your system should withstand without availability impact. For the KRaft controller cluster to withstand <code>N</code> concurrent failures the controller cluster must include <code>2N + 1</code> controllers.</li>
41914181
<li>The Kafka controllers store all the metadata for the cluster in memory and on disk. We believe that for a typical Kafka cluster 5GB of main memory and 5GB of disk space on the metadata log director is sufficient.</li>
41924182
</ul>

0 commit comments

Comments
 (0)