Hi Nitin, Partitions and replicas are assigned in a round robin fashion. You can read more about it in the docs under "4.7 Replication <http://kafka.apache.org/documentation.html#replication>" look for the header for "Replica Management".
You can view the implementation here: https://github.com/apache/kafka/blob/21443f214fc6f1f51037e27f8ece155cf1eb288c/core/src/main/scala/kafka/admin/AdminUtils.scala#L48-L65 I copy-pasted the relevant javadoc below for convenience: /** > * There are 2 goals of replica assignment: > * 1. Spread the replicas evenly among brokers. > * 2. For partitions assigned to a particular broker, their other > replicas are spread over the other brokers. > * > * To achieve this goal, we: > * 1. Assign the first replica of each partition by round-robin, > starting from a random position in the broker list. > * 2. Assign the remaining replicas of each partition with an increasing > shift. > * > * Here is an example of assigning (10 partitions, replication = 3) > * broker-0 broker-1 broker-2 broker-3 broker-4 > * p0 p1 p2 p3 p4 (1st replica) > * p5 p6 p7 p8 p9 (1st replica) > * p4 p0 p1 p2 p3 (2nd replica) > * p8 p9 p5 p6 p7 (2nd replica) > * p3 p4 p0 p1 p2 (3nd replica) > * p7 p8 p9 p5 p6 (3nd replica) > */ Note that this is just the default implementation, you can manually assign them however you like using the command line tools. There are also some Jiras in progress to implement other options as well(KAFKA-2435 <https://issues.apache.org/jira/browse/KAFKA-2435>, KAFKA-1215 <https://issues.apache.org/jira/browse/KAFKA-1215>, KAFKA-1736 <https://issues.apache.org/jira/browse/KAFKA-1736>). Thanks, Grant On Tue, Oct 27, 2015 at 11:58 AM, nitin sharma <kumarsharma.ni...@gmail.com> wrote: > Hi All, > > I would like to know what kind of strategy Kafka adopts in splitting > partitions of a topic to across the cluster. > > Ex: if i have 10 broker in a cluster. 1 topic with 5 partition and each > with replication-factor of 2. then how would Kafka will assign the > partitions ( 5*2 =10) across the cluster nodes? > > > Regards, > Nitin Kumar Sharma. > -- Grant Henke Software Engineer | Cloudera gr...@cloudera.com | twitter.com/gchenke | linkedin.com/in/granthenke