This is an automated email from the ASF dual-hosted git repository.

mimaison pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/kafka.git


The following commit(s) were added to refs/heads/trunk by this push:
     new 2b491f9611c MINOR: Add docs for 
replica.alter.log.dirs.io.max.bytes.per.second config (#16386)
2b491f9611c is described below

commit 2b491f9611cb8514687b4030f3da95dc7573e1da
Author: Mickael Maison <mimai...@users.noreply.github.com>
AuthorDate: Wed Jun 19 11:19:59 2024 +0200

    MINOR: Add docs for replica.alter.log.dirs.io.max.bytes.per.second config 
(#16386)
    
    
    Reviewers: Luke Chen <show...@gmail.com>
---
 docs/ops.html | 31 ++++++++++++++++---------------
 1 file changed, 16 insertions(+), 15 deletions(-)

diff --git a/docs/ops.html b/docs/ops.html
index d2b3e96a121..4b2058cafef 100644
--- a/docs/ops.html
+++ b/docs/ops.html
@@ -351,16 +351,17 @@ Topic:foo PartitionCount:1        ReplicationFactor:3     
Configs:
   Topic: foo   Partition: 0    Leader: 5       Replicas: 5,6,7 Isr: 
5,6,7</code></pre>
 
   <h4 class="anchor-heading"><a id="rep-throttle" class="anchor-link"></a><a 
href="#rep-throttle">Limiting Bandwidth Usage during Data Migration</a></h4>
-  Kafka lets you apply a throttle to replication traffic, setting an upper 
bound on the bandwidth used to move replicas from machine to machine. This is 
useful when rebalancing a cluster, bootstrapping a new broker or adding or 
removing brokers, as it limits the impact these data-intensive operations will 
have on users.
+  Kafka lets you apply a throttle to replication traffic, setting an upper 
bound on the bandwidth used to move replicas from machine to machine and from 
disk to disk. This is useful when rebalancing a cluster, adding or removing 
brokers or adding or removing disks, as it limits the impact these 
data-intensive operations will have on users.
   <p></p>
   There are two interfaces that can be used to engage a throttle. The 
simplest, and safest, is to apply a throttle when invoking the 
kafka-reassign-partitions.sh, but kafka-configs.sh can also be used to view and 
alter the throttle values directly.
   <p></p>
-  So for example, if you were to execute a rebalance, with the below command, 
it would move partitions at no more than 50MB/s.
-  <pre class="language-bash">$ bin/kafka-reassign-partitions.sh 
--bootstrap-server localhost:9092 --execute --reassignment-json-file 
bigger-cluster.json --throttle 50000000</pre>
+  So for example, if you were to execute a rebalance, with the below command, 
it would move partitions at no more than 50MB/s between brokers, and at no more 
than 100MB/s between disks on a broker.
+  <pre class="language-bash">$ bin/kafka-reassign-partitions.sh 
--bootstrap-server localhost:9092 --execute --reassignment-json-file 
bigger-cluster.json --throttle 50000000 --replica-alter-log-dirs-throttle 
100000000</pre>
   When you execute this script you will see the throttle engage:
-  <pre><code class="language-bash">The inter-broker throttle limit was set to 
50000000 B/s
+  <pre><code class="language-text">The inter-broker throttle limit was set to 
50000000 B/s
+The replica-alter-dir throttle limit was set to 100000000 B/s
 Successfully started partition reassignment for foo1-0</code></pre>
-  <p>Should you wish to alter the throttle, during a rebalance, say to 
increase the throughput so it completes quicker, you can do this by re-running 
the execute command with the --additional option passing the same 
reassignment-json-file:</p>
+  <p>Should you wish to alter the throttle, during a rebalance, say to 
increase the inter-broker throughput so it completes quicker, you can do this 
by re-running the execute command with the --additional option passing the same 
reassignment-json-file:</p>
   <pre class="language-bash">$ bin/kafka-reassign-partitions.sh 
--bootstrap-server localhost:9092 --additional --execute 
--reassignment-json-file bigger-cluster.json --throttle 700000000
 The inter-broker throttle limit was set to 700000000 B/s</pre>
 
@@ -378,12 +379,13 @@ Reassignment of partition [my-topic,0] is completed
 Clearing broker-level throttles on brokers 1,2,3
 Clearing topic-level throttles on topic my-topic</code></pre>
 
-  <p>The administrator can also validate the assigned configs using the 
kafka-configs.sh. There are two pairs of throttle
-      configuration used to manage the throttling process. First pair refers 
to the throttle value itself. This is configured, at a broker
+  <p>The administrator can also validate the assigned configs using the 
kafka-configs.sh. There are two sets of throttle
+      configuration used to manage the throttling process. First set refers to 
the throttle value itself. This is configured, at a broker
       level, using the dynamic properties: </p>
 
   <pre><code class="language-text">leader.replication.throttled.rate
-follower.replication.throttled.rate</code></pre>
+follower.replication.throttled.rate
+replica.alter.log.dirs.io.max.bytes.per.second</code></pre>
 
   <p>Then there is the configuration pair of enumerated sets of throttled 
replicas: </p>
 
@@ -392,16 +394,16 @@ follower.replication.throttled.replicas</code></pre>
 
   <p>Which are configured per topic. </p>
 
-  <p>All four config values are automatically assigned by 
kafka-reassign-partitions.sh (discussed below).</p>
+  <p>All five config values are automatically assigned by 
kafka-reassign-partitions.sh (discussed below).</p>
 
   <p>To view the throttle limit configuration:</p>
 
   <pre><code class="language-bash">$ bin/kafka-configs.sh --describe 
--bootstrap-server localhost:9092 --entity-type brokers
-Configs for brokers '2' are 
leader.replication.throttled.rate=700000000,follower.replication.throttled.rate=700000000
-Configs for brokers '1' are 
leader.replication.throttled.rate=700000000,follower.replication.throttled.rate=700000000</code></pre>
+Configs for brokers '2' are 
leader.replication.throttled.rate=700000000,follower.replication.throttled.rate=700000000,replica.alter.log.dirs.io.max.bytes.per.second=1000000000
+Configs for brokers '1' are 
leader.replication.throttled.rate=700000000,follower.replication.throttled.rate=700000000,replica.alter.log.dirs.io.max.bytes.per.second=1000000000</code></pre>
 
-  <p>This shows the throttle applied to both leader and follower side of the 
replication protocol. By default both sides
-      are assigned the same throttled throughput value. </p>
+  <p>This shows the throttle applied to both leader and follower side of the 
replication protocol (by default both sides
+      are assigned the same throttled throughput value), as well as the disk 
throttle.</p>
 
   <p>To view the list of throttled replicas:</p>
 
@@ -441,8 +443,7 @@ Configs for topic 'my-topic' are 
leader.replication.throttled.replicas=1:102,0:1
   
<pre>kafka.server:type=FetcherLagMetrics,name=ConsumerLag,clientId=([-.\w]+),topic=([-.\w]+),partition=([0-9]+)</pre>
 
   <p>The lag should constantly decrease during replication. If the metric does 
not decrease the administrator should
-      increase the
-      throttle throughput as described above. </p>
+      increase the throttle throughput as described above. </p>
 
 
   <h4 class="anchor-heading"><a id="quotas" class="anchor-link"></a><a 
href="#quotas">Setting quotas</a></h4>

Reply via email to