Yonghui Yang created KAFKA-2796:
-----------------------------------
Summary: add support for reassignment partition to specified logdir
Key: KAFKA-2796
URL: https://issues.apache.org/jira/browse/KAFKA-2796
Project: Kafka
Issue Type: Improvement
Components: clients, controller, core, log
Affects Versions: 0.9.0.0
Reporter: Yonghui Yang
Assignee: Neha Narkhede
Fix For: 0.9.0.0
Currently when creating a log, the directory is chosen by calculating the
number of partitions
in each directory and then choosing the data directory with the fewest
partitions.
However, the sizes of different TopicParitions are very different, which lead
to usage vary greatly between different logDirs. And usually each logDir
corresponds to a disk, so the disk usage between different disks is very
imbalance .
The possible solution is to reassign partitions in high-usage logDirs to
low-usage logDirs. I change the format of /admin/reassign_partitions,add
replicaDirs field. At reassigning Partitions, when broker’s
LogManager.createLog() is invoked , if replicaDir is specified , the specified
logDir will be chosen, otherwise the logDir with the fewest partitions will be
chosen.
the old /admin/reassign_partitions:
{"version":1,
"partitions":
[
{
"topic" : "Foo",
"partition": 1,
"replicas": [1, 2, 3]
}
]
}
the new /admin/reassign_partitions:
{"version":1,
"partitions":
[
{
"topic" : "Foo",
"partition": 1,
"replicas": [1, 2, 3],
"replicaDirs": {"1":"/data1/kafka_data", "3":"/data10/kakfa_data" }
}
]
}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)