[
https://issues.apache.org/jira/browse/KAFKA-5319?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16022687#comment-16022687
]
ASF GitHub Bot commented on KAFKA-5319:
---------------------------------------
GitHub user MarkTcMA opened a pull request:
https://github.com/apache/kafka/pull/3136
KAFKA-5319 Add a tool to make cluster replica and leader balance
As [KAFKA-5319](https://issues.apache.org/jira/browse/KAFKA-5319) describes
Kafka does not have tools to make replica or leader num of cluster balanced ,I
write a tool to deal with it.
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/MarkTcMA/kafka trunk
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/kafka/pull/3136.patch
To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:
This closes #3136
----
commit de71981cf6ca42f39ed1fc44ef34f698afcf6e60
Author: 马天池 <[email protected]>
Date: 2017-05-24T02:49:32Z
add a new command which make replica and leader on broker balanced
commit 19a455e4eb38d6f992466901c0466e2aa8aaa36f
Author: 马天池 <[email protected]>
Date: 2017-05-24T06:31:32Z
no message
commit fec1f099bce34158a18062e9f6d6245863c6d2e5
Author: 马天池 <[email protected]>
Date: 2017-05-24T07:55:26Z
no message
commit 6af378a777c450193c279a3b8b995bfccea2a55f
Author: Ma Tianchi <[email protected]>
Date: 2017-05-24T08:03:16Z
a command to make replica and leader balanced
commit 6050af726f30ffbb3e7281e135bbdb2a57e94c80
Author: Ma Tianchi <[email protected]>
Date: 2017-05-24T10:04:18Z
Add a tool to make cluster replica and leader balance
----
> Add a tool to make cluster replica and leader balance
> -----------------------------------------------------
>
> Key: KAFKA-5319
> URL: https://issues.apache.org/jira/browse/KAFKA-5319
> Project: Kafka
> Issue Type: Improvement
> Components: admin
> Affects Versions: 0.10.2.1
> Reporter: Ma Tianchi
> Attachments: ClusterBalanceCommand.scala
>
>
> When a new broker is added to cluster,there is not any topics in the new
> broker.When we use console command to create a topic without
> 'replicaAssignmentOpt',Kafka use AdminUtils.assignReplicasToBrokers to get
> replicaAssignment.Even though it is balance at the creating time if the
> cluster never change,with more and more brokers added to cluster the replica
> balanced will become not well. We also can use 'kafka-reassign-partitions.sh'
> to balance ,but the big amount of topics make it not easy.And at the topic
> created time , Kafka choose a PreferredReplicaLeader which be put at the
> first position of the AR to make leader balance.But the balance will be
> destroyed when cluster changed.Using 'kafka-reassign-partitions.sh' to make
> partition reassignment may be also destroy the leader balance ,because user
> can change the AR of the partition . It may be not balanced , but Kafka
> believe cluster leader balance is well with every leaders is the first on at
> AR.
> So we create a tool to make the number of replicas and number of leaders on
> every brokers is balanced.It uses a algorithm to get a balanced replica and
> leader reassignment,then uses ReassignPartitionsCommand to real balance the
> cluster.
> It can be used to make balance when cluster added brokers or cluster is not
> balanced .It does not deal with moving replicas of a dead broker to an alive
> broker,it only makes replicas and leaders on alive brokers is balanced.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)