kafka修改topic分区的位置
来源:互联网 发布:linux 逻辑分区创建 编辑:程序博客网 时间:2024/06/10 22:28
转自:http://www.cnblogs.com/honeybee/p/5671347.html
1. 查看分区topic的分区分布
$ le-kafka-topics.sh --describe --topic http_zhixin_line1
结果如下:
[hadoop@sdf-nimbus-perf project]$ le-kafka-topics.sh --describe --topic http_zhixin_line1Topic:http_zhixin_line1 PartitionCount:3 ReplicationFactor:1 Configs: Topic: http_zhixin_line1 Partition: 0 Leader: 4 Replicas: 4 Isr: 4 Topic: http_zhixin_line1 Partition: 1 Leader: 5 Replicas: 5 Isr: 5 Topic: http_zhixin_line1 Partition: 2 Leader: 6 Replicas: 6 Isr: 6
2. 准备分区分配的JSON配置文件
可以使用kafka的kafka-reassign-partitions.sh工具来分配topic的分区位置,操作之前得准备一个Json文件,里面详细地记录着每个分区的副本所在机器等信息,具体如下:
{ "version": 1, "partitions": [ { "topic": "http_zhixin_line1", "partition": 0, "replicas": [ 7 ] }, { "topic": "http_zhixin_line1", "partition": 1, "replicas": [ 8 ] }, { "topic": "http_zhixin_line1", "partition": 3, "replicas": [ 9 ] } ]}
3. 执行topic的分区位置修改操作:
kafka-reassign-partitions.sh --zookeeper $ZK_CONNECT --reassignment-json-file movePartitions.json --execute
执行日志如下:
[hadoop@sdf-nimbus-perf topic_reassgin]$ kafka-reassign-partitions.sh --zookeeper $ZK_CONNECT --reassignment-json-file movePartitions.json --executeCurrent partition replica assignment{"version":1,"partitions":[{"topic":"http_zhixin_line1","partition":2,"replicas":[6]},{"topic":"http_zhixin_line1","partition":1,"replicas":[5]},{"topic":"http_zhixin_line1","partition":0,"replicas":[4]}]}Save this to use as the --reassignment-json-file option during rollbackSuccessfully started reassignment of partitions {"version":1,"partitions":[{"topic":"http_zhixin_line1","partition":0,"replicas":[7]},{"topic":"http_zhixin_line1","partition":1,"replicas":[8]},{"topic":"http_zhixin_line1","partition":2,"replicas":[9]}]}
4. 检查执行的结果
kafka-reassign-partitions.sh --zookeeper $ZK_CONNECT --reassignment-json-file movePartitions.json --verify
执行日志如下:
[hadoop@sdf-nimbus-perf topic_reassgin]$ kafka-reassign-partitions.sh --zookeeper $ZK_CONNECT --reassignment-json-file movePartitions.json --verifyStatus of partition reassignment:Reassignment of partition [http_zhixin_line1,0] completed successfullyReassignment of partition [http_zhixin_line1,1] completed successfullyReassignment of partition [http_zhixin_line1,2] completed successfully
5. 检查kafka的对应的topic的日志目录
原目录下的数据已经迁移到新的的分区所对应的服务器下了。
分配状态的变化:分配的状态变化:“is still in progress” --》 “completed successfully”
如果分配脚本有错,或者遇到异常,分配状态会变成“failed” (具体的fail原因:如果是json配置文件的原因,命令行就会打印出error日志;kafka内部错误可以查看kafka的server.log 日志文件等)。
重新分配过程中数据日志文件的变化:
先将原来的分区的数据,copy到对应重新分配后的分区节点下,拷贝成功后,kakfa会将原来的分区目录删除掉。 copy 前后的数据量大小是一致的。
- kafka修改topic分区的位置
- kafka集群扩容后的topic分区迁移
- 如何在Kafka中修改Topic的preferred replica
- 修改kafka topic的offset几种方法
- 删除kafka 的topic
- Kafka的Topic操作
- 删除kafka的topic
- kafka中的topic为什么要进行分区?
- kafka中的topic为什么要进行分区?
- kafka修改分区数量
- kafka的topic多分区的情况,如何保证跨区的消息消费的顺序性
- 查看当前服务器中的所有的topic,创建topic,删除topic,通过shell命令发送消息,通过shell消费消息,查看topic详情,对分区数进行修改
- Kafka 学习 -- Topic的创建
- Kafka的topic限制是多少
- kafka topic的基本操作
- 如何删除Kafka的Topic
- 修改topic分区数和副本数
- Kafka Producer是如何动态感知Topic分区数变化
- Volley的使用
- PAT数据结构_02-线性结构3 Reversing Linked List (25分)
- 逗号运算符
- 通过类序列化至XML文件
- 【AJAX】AJAX技术详细解析以及实例
- kafka修改topic分区的位置
- 如何将Activity设置为透明的
- AndroidViewPager无限滑动
- 深入理解Java中的final关键字
- mysql存储过程详解《好文》
- iOS 三种侧滑菜单效果对比详解
- Xcode git使用
- OC基础之类别(Category)和扩展(Extension)
- warning: passing argument 2 of 'request_irq' from incompatible pointer type导致的中断申请失败和