Thank you Todd for the detailed answer On Wed, Aug 5, 2015 at 9:09 PM Todd Palino <tpal...@gmail.com> wrote:
> To make sure you have a complete answer here, the order of the replica list > that you specify in the partition reassignment will affect the leader > selection, but if the current leader is in the new replica list, it will > not change the leadership to change. > > That is, if your current replica list is [1, 2] and the leader is 1, and > you change the replica list to [3, 1] nothing happens immediately except > that 2 is removed as a replica and 3 is added. Upon a failure of broker 1 > or a preferred replica election, broker 3 will take over leadership. If the > new replica list is [3, 4], then upon completion of the reassignment, > broker 3 will be selected as the new leader. > > The controller will prefer to select the first broker in the replica list > as the leader. This means that if you do a partition reassignment and > change the replica list from [1, 2] to [2, 1], nothing happens at first. > But upon the next preferred replica election, broker 2 will be selected as > the leader. > > -Todd > > > On Wed, Aug 5, 2015 at 3:37 AM, tao xiao <xiaotao...@gmail.com> wrote: > > > I think I figured it out. As pointed out in > > > > > https://cwiki.apache.org/confluence/display/KAFKA/Replication+tools#Replicationtools-6.ReassignPartitionsTool > > > > If the leader is not in the reassigned replica a new leader will be > elected > > and the tool doesn't pick the first one from the RAR as the leader > > > > On Wed, 5 Aug 2015 at 18:32 Jilin Xie <jilinxie1...@gmail.com> wrote: > > > > > Check the --replica-assignment parameter of the kafka-topics.sh. > > > It does what you need. > > > And there should also be similar configs in the api if you wanna do so > by > > > coding. > > > > > > On Wed, Aug 5, 2015 at 6:18 PM, tao xiao <xiaotao...@gmail.com> wrote: > > > > > > > Hi team, > > > > > > > > Is it possible to specify a leader broker for each topic partition > when > > > > doing partition reassignment? > > > > > > > > For example I have following json. Is the first broker in the > replicas > > > list > > > > by default the leader of the partition e.g. broker 3 is the leader of > > > topic > > > > test5 and broker 2 is the leader of topic test3. or does Kafka > > > > automatically pick the leader based on the leadership ratio > > > > if auto.leader.rebalance.enable is on > > > > > > > > { > > > > "version": 1, > > > > "partitions": [ > > > > { > > > > "topic": "test5", > > > > "partition": 0, > > > > "replicas": [3, 1] > > > > }, > > > > { > > > > "topic": "test3", > > > > "partition": 0, > > > > "replicas": [2,3] > > > > }, > > > > { > > > > "topic": "test1", > > > > "partition": 0, > > > > "replicas": [1,2] > > > > } > > > > ] > > > > } > > > > > > > > > >