Hello,
We have a cluster of 10 brokers.
recently we replaced some broken HDDs on a single broker (id 2 for future
reference), all data on this broker was erased.
We have a replication factor of 3 minimum on all our topics so no data was lost.
To add the broker to the cluster again I configured it with the same broker id
than before, assuming the replication will take care of everything. This worked
and after a couple hours the cluster was fully up to date with no under
replicated partitions.
Although this worked, this replication had a visible inpact on the load of the
cluster and on some consumers especially.
During replication broker 2 almost always capped the 1Gbps link, there was
around 3TB to transfer.
Before bootstrapping the node I applied the following configurations thinking
it would work:
for i in (seq 1 11) ; kafka-configs.sh --zookeeper 10.40.1.1:2181 --alter
--entity-type brokers --add-config
leader.replication.throttled.rate=524288,follower.replication.throttled.rate=524288
--entity-name $i ; end
but it didn't seem to do anything. After reading
https://kafka.apache.org/11/documentation.html#rep-throttle I think these
config may not be do what I want, it looks like the throttling must be
configured with leader.replication.throttled.replicas and
follower.replication.throttled.replicas for each topic ?
Basically, I'm looking for a way to tell a broker to throttle itself globally
at for example 100 Mbps. Is there an easy way for me do to this ?