kafka 0.8增加了重新分配partition功能,进行扩容,增加减少replica,移动partition
kafka-reassign-partitions.sh脚本
Option Description
------ -----------
--broker-list <brokerlist> The list of brokers to which the
partitions need to be reassigned in
the form "0,1,2". This is required
if --topics-to-move-json-file is
used to generate reassignment
configuration
--execute Kick off the reassignment as specified
by the --reassignment-json-file
option.
--generate Generate a candidate partition
reassignment configuration. Note
that this only generates a candidate
assignment, it does not execute it.
--reassignment-json-file <manual The JSON file with the partition
assignment json file path> reassignment configurationThe format
to use is -
{"partitions":
[{"topic": "foo",
"partition": 1,
"replicas": [1,2,3] }],
"version":1
}
--topics-to-move-json-file <topics to Generate a reassignment configuration
reassign json file path> to move the partitions of the
specified topics to the list of
brokers specified by the --broker-
list option. The format to use is -
{"topics":
[{"topic": "foo"},{"topic": "foo1"}],
"version":1
}
--verify Verify if the reassignment completed
as specified by the --reassignment-
json-file option.
--zookeeper <urls> REQUIRED: The connection string for
the zookeeper connection in the form
host:port. Multiple URLS can be
given to allow fail-over.
narkhed$ cat partitions-to-move.json
{"partitions":
[{"topic": "foo",
"partition": 1,
"replicas": [1,2,3] }],
"version":1
}
bin/kafka-reassign-partitions.sh --topics-to-move-json-file dirk_topic_move.json --zookeeper host34/kafka-dirktest --broker-list "0341,0361" --generate
生成将topic dirkzhang放到341和361上的json,用json执行execute就可以了
Current partition replica assignment
{"version":1,"partitions":[{"topic":"dirkzhang","partition":6,"replicas":[361,371]},{"topic":"dirkzhang","partition":0,"replicas":[361,371]},{"topic":"dirkzhang","partition":5,"replicas":[341,371]},{"topic":"dirkzhang","partition":4,"replicas":[371,361]},{"topic":"dirkzhang","partition":3,"replicas":[361,341]},{"topic":"dirkzhang","partition":7,"replicas":[371,341]},{"topic":"dirkzhang","partition":1,"replicas":[371,341]},{"topic":"dirkzhang","partition":2,"replicas":[341,361]}]}
Proposed partition reassignment configuration
{"version":1,"partitions":[{"topic":"dirkzhang","partition":6,"replicas":[361,341]},{"topic":"dirkzhang","partition":5,"replicas":[341,361]},{"topic":"dirkzhang","partition":0,"replicas":[361,341]},{"topic":"dirkzhang","partition":4,"replicas":[361,341]},{"topic":"dirkzhang","partition":3,"replicas":[341,361]},{"topic":"dirkzhang","partition":1,"replicas":[341,361]},{"topic":"dirkzhang","partition":7,"replicas":[341,361]},{"topic":"dirkzhang","partition":2,"replicas":[361,341]}]}
-----------------------------------------------------------------
bin/kafka-reassign-partitions.sh --zookeeper host34/kafka-dirktest --reassignment-json-file dirk_move_partition.json --execute
将partition0,1的replica放到341,371上(brokerid前边不能有零,是int)
dirk_move_partition.json:
{"version":1,"partitions":
[{"topic":"dirkzhang",
"partition":0,
"replicas":[341,371]
},
{"topic":"dirkzhang",
"partition":1,
"replicas":[341,371]
}]
}
------------------------------------------------
用verify检查是否迁移成功
bin/kafka-reassign-partitions.sh --reassignment-json-file dirk_move_partition.json --zookeeper host34/kafka-dirktest --verify
Status of partition reassignment:
Reassignment of partition [dirkzhang,1] completed successfully
----------------------------------------------------
收集replica迁移,选leader的日志
bin/kafka-run-class.sh kafka.tools.StateChangeLogMerger
--end-time <end timestamp in the The latest timestamp of state change
format java.text. log entries to be merged (default:
SimpleDateFormat@f17a63e7> 9999-12-31 23:59:59,999)
--logs <file1,file2,...> Comma separated list of state change
logs or a regex for the log file
names
--logs-regex <for example: /tmp/state- Regex to match the state change log
change.log*> files to be merged
--partitions <0,1,2,...> Comma separated list of partition ids
whose state change logs should be
merged
--start-time <start timestamp in the The earliest timestamp of state change
format java.text. log entries to be merged (default:
SimpleDateFormat@f17a63e7> 0000-00-00 00:00:00,000)
--topic <topic> The topic whose state change logs
should be merged
bin/kafka-run-class.sh kafka.tools.StateChangeLogMerger --topic dirkzhang --partition 0,1,2 --start-time "2015-07-02 00:00:00,000" --end-time "2015-07-03 00:00:00,000" --logs /data/kafka_2.10-0.8.2.1/logs/state-change.log
相关推荐
- **分区分配**: `reassign-partitions` 命令可以手动调整主题分区的分配,优化数据分布和容错能力。 - **ACL 管理**: 支持创建、查询和删除 ACL(Access Control List),确保集群的安全性。 - **Brokers 状态检查*...
例如,`kafkatool create topic -b broker_list -t topic_name -p num_partitions` 将创建一个新的主题。 **五、最佳实践** 使用 Kafkatool 进行 Kafka 管理时,需要注意以下几点最佳实践: - 在调整分区和消费组...
kafkatool 国内可能下载不了,搞32 64位的都压缩在一起了Kafka Tool 2.0.7( 32\64) To download the Kafka UI Tool for your operating system, use the links below. All versions of Kafka Tool come with a ...
1. **连接与集群管理**:用户可以通过该工具连接到多个Kafka集群,查看集群的基本信息,如 brokers、topics、partitions 和 replicas 的状态。它支持Zookeeper和SSL加密连接,确保数据传输的安全性。 2. **Topic...
1. **集群管理**: Kafka Tool 可以列出所有连接的 Kafka 集群,查看集群的详细信息,如 brokers、topics、partitions 等。 2. **主题管理**: 创建、删除、修改 Kafka 主题,包括设置副本数量、分区数等参数。 3. *...
To download the Kafka UI Tool for your operating system, use the links below. All versions of Kafka Tool come with a bundled JRE with the exception of the Linux version. For Linux, you must have Java ...
1. **集群概览**:Kafka Tool能够显示Kafka集群的整体状态,包括 brokers、topics、partitions和replicas 的详细信息,帮助管理员快速了解集群健康状况。 2. **主题管理**:用户可以通过Kafka Tool创建、修改、删除...
《Kafkatool_64bit:一款强大的Kafka可视化工具》 Kafkatool_64bit是一款专为64位操作系统设计的Kafka管理工具,它以其直观的界面和丰富的功能,使得管理和监控Apache Kafka集群变得轻而易举。这款工具的主要目标是...
3. **集群信息查看**:查看Kafka集群的状态,包括Brokers、Topics、Partitions和Replicas的信息。 4. **数据备份与恢复**:可以导出主题的数据到文件,或者从文件导入数据到主题,这对于数据迁移或备份至关重要。 5....
1、图形化界面可以直观地查看 Kafka 的 Topic 里的内容 2、自由设置 Kafka 数据展示格式 3、使用 Kafka Tool 创建/删除 Topic 4、使用 Kafka Tool 模拟发送 Messages
1. **集群可视化**:Kafka Tool能够清晰地展示Kafka集群的结构,包括Brokers、Topics、Partitions以及Replicas的状态,让用户可以一目了然地了解集群的运行状况。 2. **主题管理**:通过该工具,用户可以创建、删除...
kafka的开源客户端连接工具,简单易用,业内公认好用。使用教程网上众多,方便快速入门,使用门槛低,kafka的开源客户端连接工,kafka的开源客户端连接工,kafka的开源客户端连接工,kafka的开源客户端连接工
然而,管理Kafka集群和操作其组件(如topics、partitions、offsets等)可能会变得复杂,这时就需要一些可视化工具来简化这一过程。Kafkatool就是这样一款强大的Kafka管理工具,它提供了丰富的功能,帮助用户直观地...
1. **集群浏览**:Kafka Tool允许用户查看整个Kafka集群的概览,包括集群中的Brokers、Topics、Partitions和Replicas等信息。用户可以实时监控这些元素的状态,以便及时发现并解决问题。 2. **主题管理**:通过这款...
Kafka Tool提供了一个直观的界面,可以查看Kafka集群中的主题(topics)和分区(partitions),包括每个分区的消息偏移量(offset)。用户可以直接在界面上消费消息,进行数据浏览,这对于故障排查和数据验证非常...
5. **数据迁移**:在不同Kafka集群之间迁移Topics或Partitions是常见的需求,Kafka Tool支持这种迁移操作,确保数据安全无损地转移。 6. **备份与恢复**:Kafka Tool允许用户备份和恢复Topics,这对于灾难恢复或...
kafkaTool工具是kafka的一个监控工具,可以监控kafka的集群健康情况
kafkatool客户端工具,查询kafka中的信息。
1. **集群管理**:Kafka Tool允许用户轻松地查看和管理Kafka集群,包括查看 brokers、topics、partitions以及offsets的状态。 2. **创建与删除**:用户可以使用该工具快速创建和删除Kafka topics,这对于测试环境和...