1
bin/kafka-topics.sh --create --zookeeper 172.17.137.55:2181 --replication-factor 1 --partitions 1 --topic partopic

查看topic的状态

1
bin/kafka-topics.sh --describe --zookeeper 172.17.137.55:2181 --topic partopic

调整partition可以直接执行如下命令:

1
./kafka-topics.sh --alter --topic topicName --zookeeper $ZK_HOST_NODE --partitions partitionNum

注意替换topicName、$ZK_HOST_NODE和partitionNum三个参数。

调整replica-factor需要先创建一个json描述文件replica.json,大致如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
{
"version": 1,
"partitions": [
{
"topic": "topicName",
"partition": 0,
"replicas": [
1,
2
]
},
{
"topic": "topicName",
"partition": 1,
"replicas": [
2,
3
]
},
{
"topic": "topicName",
"partition": 2,
"replicas": [
3,
4
]
}
]
}
```


在描述文件中说明分区和副本所在broker的Id的映射。

而后在replica.json所在的位置执行如下命令:


bin/kafka-reassign-partitions.sh –zookeeper $ZK_HOST_NODE –reassignment-json-file replica.json –execute