`

kafka Reassign Partitions Tool

阅读更多

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

 

 

 

 

6
1
分享到:
评论

相关推荐

    kafkatool 连接kafka工具

    - **分区分配**: `reassign-partitions` 命令可以手动调整主题分区的分配,优化数据分布和容错能力。 - **ACL 管理**: 支持创建、查询和删除 ACL(Access Control List),确保集群的安全性。 - **Brokers 状态检查*...

    kafkatool 2.0.9 Windows & maxOS & Linux

    例如,`kafkatool create topic -b broker_list -t topic_name -p num_partitions` 将创建一个新的主题。 **五、最佳实践** 使用 Kafkatool 进行 Kafka 管理时,需要注意以下几点最佳实践: - 在调整分区和消费组...

    Kafka Tool 2.0.7(windows 32\64).7z

    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 ...

    Kafka Tool 2.0.4.zip

    1. **连接与集群管理**:用户可以通过该工具连接到多个Kafka集群,查看集群的基本信息,如 brokers、topics、partitions 和 replicas 的状态。它支持Zookeeper和SSL加密连接,确保数据传输的安全性。 2. **Topic...

    Kafka Tool 2.0.7(linux系统)

    1. **集群管理**: Kafka Tool 可以列出所有连接的 Kafka 集群,查看集群的详细信息,如 brokers、topics、partitions 等。 2. **主题管理**: 创建、删除、修改 Kafka 主题,包括设置副本数量、分区数等参数。 3. *...

    kafkatool_64bit_v1.0.3.exe.zip

    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 ...

    Kafka Tool linux版本,适用于kafka0.11及以上

    1. **集群概览**:Kafka Tool能够显示Kafka集群的整体状态,包括 brokers、topics、partitions和replicas 的详细信息,帮助管理员快速了解集群健康状况。 2. **主题管理**:用户可以通过Kafka Tool创建、修改、删除...

    kafkatool_64bit 可视化工具

    《Kafkatool_64bit:一款强大的Kafka可视化工具》 Kafkatool_64bit是一款专为64位操作系统设计的Kafka管理工具,它以其直观的界面和丰富的功能,使得管理和监控Apache Kafka集群变得轻而易举。这款工具的主要目标是...

    kafka2种工具 kafkatool-64bit.exe kafka-eagle-bin-1.4.6.tar.gz

    3. **集群信息查看**:查看Kafka集群的状态,包括Brokers、Topics、Partitions和Replicas的信息。 4. **数据备份与恢复**:可以导出主题的数据到文件,或者从文件导入数据到主题,这对于数据迁移或备份至关重要。 5....

    Kafka 可视化工具(Kafka Tool_windows_64bit).rar

    1、图形化界面可以直观地查看 Kafka 的 Topic 里的内容 2、自由设置 Kafka 数据展示格式 3、使用 Kafka Tool 创建/删除 Topic 4、使用 Kafka Tool 模拟发送 Messages

    Kafka管理工具Kafka Tool

    1. **集群可视化**:Kafka Tool能够清晰地展示Kafka集群的结构,包括Brokers、Topics、Partitions以及Replicas的状态,让用户可以一目了然地了解集群的运行状况。 2. **主题管理**:通过该工具,用户可以创建、删除...

    kafkatool (2.0版本).dmg

    kafka的开源客户端连接工具,简单易用,业内公认好用。使用教程网上众多,方便快速入门,使用门槛低,kafka的开源客户端连接工,kafka的开源客户端连接工,kafka的开源客户端连接工,kafka的开源客户端连接工

    kafka可视化工具--kafkatool

    然而,管理Kafka集群和操作其组件(如topics、partitions、offsets等)可能会变得复杂,这时就需要一些可视化工具来简化这一过程。Kafkatool就是这样一款强大的Kafka管理工具,它提供了丰富的功能,帮助用户直观地...

    Kafka Tool Mac版本,适用于kafka0.11及以上

    1. **集群浏览**:Kafka Tool允许用户查看整个Kafka集群的概览,包括集群中的Brokers、Topics、Partitions和Replicas等信息。用户可以实时监控这些元素的状态,以便及时发现并解决问题。 2. **主题管理**:通过这款...

    kafkatool_64bit.rar

    Kafka Tool提供了一个直观的界面,可以查看Kafka集群中的主题(topics)和分区(partitions),包括每个分区的消息偏移量(offset)。用户可以直接在界面上消费消息,进行数据浏览,这对于故障排查和数据验证非常...

    KafkaTool1.0.3.zip

    5. **数据迁移**:在不同Kafka集群之间迁移Topics或Partitions是常见的需求,Kafka Tool支持这种迁移操作,确保数据安全无损地转移。 6. **备份与恢复**:Kafka Tool允许用户备份和恢复Topics,这对于灾难恢复或...

    kafkaTool工具.exe

    kafkaTool工具是kafka的一个监控工具,可以监控kafka的集群健康情况

    kafkatool客户端工具

    kafkatool客户端工具,查询kafka中的信息。

    kafkatool_64bit.zip

    1. **集群管理**:Kafka Tool允许用户轻松地查看和管理Kafka集群,包括查看 brokers、topics、partitions以及offsets的状态。 2. **创建与删除**:用户可以使用该工具快速创建和删除Kafka topics,这对于测试环境和...

Global site tag (gtag.js) - Google Analytics