kafka命令记录
2015-09-24 16:14
106 查看
基于kafka0.8.2
1.kafka创建topic
kafka-topics.sh --create --zookeeper $ZK_CONNECT --topic test1 --partitions 2 --replication-factor 2
2.kafka创建topic,手动指定partition数,副本数在哪些broker id上
kafka-topics.sh --create --zookeeper $ZK_CONNECT --topic testass --replica-assignment 0:1,1:2,2:0
3.查看topic信息
kafka-topics.sh --describe --zookeeper $ZK_CONNECT --topic testass
Topic:testass PartitionCount:3 ReplicationFactor:2 Configs:
Topic: testass Partition: 0 Leader: 0 Replicas: 0,1 Isr: 0,1
Topic: testass Partition: 1 Leader: 1 Replicas: 1,2 Isr: 1,2
Topic: testass Partition: 2 Leader: 2 Replicas: 2,0 Isr: 2,0
4.删除topic信息
kafka-topics.sh --delete --zookeeper $ZK_CONNECT --topic test1
5.kafka脚本只可以增加partition数,不可以减少分区数,不可以修改replication-factor
kafka-topics.sh --zookeeper $ZK_CONNECT --topic testass --alter --partitions 4(将partition数增加1)
6.kafka为topic增加配置
kafka-topics.sh --zookeeper $ZK_CONNECT --alter --topic testass --config x=y
7.kafka为topic减少配置
kafka-topics.sh --zookeeper $ZK_CONNECT --alter --topic testass --deleteConfig x
8.当kafka集群新增机器时,已经创建的topic不会自动进行负载均衡。
场景为自动迁徙数据到新增的机器,将迁徙topic foo1,foo2 到brokers 5,6
(1)创建要迁徙的文件topics-to-move.json
cat topics-to-move.json
{"topics": [{"topic": "foo1"},
{"topic": "foo2"}],
"version":1
}
(2)生成一个要迁徙的新的文件目录,执行如下命令
kafka-reassign-partitions.sh --zookeeper $ZK_CONNECT --topics-to-move-json-file topics-to-move.json --broker-list "5,6" --generate
执行结果显示:
Current partition replica assignment
{"version":1,
"partitions":[{"topic":"foo1","partition":2,"replicas":[1,2]},
{"topic":"foo1","partition":0,"replicas":[3,4]},
{"topic":"foo2","partition":2,"replicas":[1,2]},
{"topic":"foo2","partition":0,"replicas":[3,4]},
{"topic":"foo1","partition":1,"replicas":[2,3]},
{"topic":"foo2","partition":1,"replicas":[2,3]}]
}
Proposed partition reassignment configuration
{"version":1,
"partitions":[{"topic":"foo1","partition":2,"replicas":[5,6]},
{"topic":"foo1","partition":0,"replicas":[5,6]},
{"topic":"foo2","partition":2,"replicas":[5,6]},
{"topic":"foo2","partition":0,"replicas":[5,6]},
{"topic":"foo1","partition":1,"replicas":[5,6]},
{"topic":"foo2","partition":1,"replicas":[5,6]}]
}
(3)将上一步生成的Proposed partition reassignment configuration 配置文件写入文件中,例如写入expand-cluster-reassignment.json中
(4)执行迁徙过程
kafka-reassign-partitions.sh --zookeeper $ZK_CONNECT --reassignment-json-file expand-cluster-reassignment.json --execute
(5)验证迁徙过程
kafka-reassign-partitions.sh --zookeeper $ZK_CONNECT --reassignment-json-file expand-cluster-reassignment.json --verify
9.自定义指定分区的迁徙
(1) 创建迁徙的配置文件
cat custom-reassignment.json
{"version":1,"partitions":[{"topic":"foo1","partition":0,"replicas":[5,6]},{"topic":"foo2","partition":1,"replicas":[2,3]}]}
这个配置文件的意思是将foo1的0分区迁徙到broker id为5,6的broker上,将foo2的1分区迁徙到broker id 为2,3的broker上。
(2)执行迁徙过程
kafka-reassign-partitions.sh --zookeeper $ZK_CONNECT --reassignment-json-file custom-reassignment.json --execute
(3)执行验证
kafka-reassign-partitions.sh --zookeeper $ZK_CONNECT --reassignment-json-file custom-reassignment.json --verify
10.增加分区的replication factor
(1) 创建迁徙的配置文件
cat increase-replication-factor.json
{"version":1,
"partitions":[{"topic":"foo","partition":0,"replicas":[5,6,7]}]}
假设foo原来只有broker 5一个replic,现在要增加broker 6,7上。
(2)执行迁徙过程
kafka-reassign-partitions.sh --zookeeper $ZK_CONNECT --reassignment-json-file increase-replication-factor.json --execute
(3)执行验证
kafka-reassign-partitions.sh --zookeeper $ZK_CONNECT --reassignment-json-file increase-replication-factor.json --verify
1.kafka创建topic
kafka-topics.sh --create --zookeeper $ZK_CONNECT --topic test1 --partitions 2 --replication-factor 2
2.kafka创建topic,手动指定partition数,副本数在哪些broker id上
kafka-topics.sh --create --zookeeper $ZK_CONNECT --topic testass --replica-assignment 0:1,1:2,2:0
3.查看topic信息
kafka-topics.sh --describe --zookeeper $ZK_CONNECT --topic testass
Topic:testass PartitionCount:3 ReplicationFactor:2 Configs:
Topic: testass Partition: 0 Leader: 0 Replicas: 0,1 Isr: 0,1
Topic: testass Partition: 1 Leader: 1 Replicas: 1,2 Isr: 1,2
Topic: testass Partition: 2 Leader: 2 Replicas: 2,0 Isr: 2,0
4.删除topic信息
kafka-topics.sh --delete --zookeeper $ZK_CONNECT --topic test1
5.kafka脚本只可以增加partition数,不可以减少分区数,不可以修改replication-factor
kafka-topics.sh --zookeeper $ZK_CONNECT --topic testass --alter --partitions 4(将partition数增加1)
6.kafka为topic增加配置
kafka-topics.sh --zookeeper $ZK_CONNECT --alter --topic testass --config x=y
7.kafka为topic减少配置
kafka-topics.sh --zookeeper $ZK_CONNECT --alter --topic testass --deleteConfig x
8.当kafka集群新增机器时,已经创建的topic不会自动进行负载均衡。
场景为自动迁徙数据到新增的机器,将迁徙topic foo1,foo2 到brokers 5,6
(1)创建要迁徙的文件topics-to-move.json
cat topics-to-move.json
{"topics": [{"topic": "foo1"},
{"topic": "foo2"}],
"version":1
}
(2)生成一个要迁徙的新的文件目录,执行如下命令
kafka-reassign-partitions.sh --zookeeper $ZK_CONNECT --topics-to-move-json-file topics-to-move.json --broker-list "5,6" --generate
执行结果显示:
Current partition replica assignment
{"version":1,
"partitions":[{"topic":"foo1","partition":2,"replicas":[1,2]},
{"topic":"foo1","partition":0,"replicas":[3,4]},
{"topic":"foo2","partition":2,"replicas":[1,2]},
{"topic":"foo2","partition":0,"replicas":[3,4]},
{"topic":"foo1","partition":1,"replicas":[2,3]},
{"topic":"foo2","partition":1,"replicas":[2,3]}]
}
Proposed partition reassignment configuration
{"version":1,
"partitions":[{"topic":"foo1","partition":2,"replicas":[5,6]},
{"topic":"foo1","partition":0,"replicas":[5,6]},
{"topic":"foo2","partition":2,"replicas":[5,6]},
{"topic":"foo2","partition":0,"replicas":[5,6]},
{"topic":"foo1","partition":1,"replicas":[5,6]},
{"topic":"foo2","partition":1,"replicas":[5,6]}]
}
(3)将上一步生成的Proposed partition reassignment configuration 配置文件写入文件中,例如写入expand-cluster-reassignment.json中
(4)执行迁徙过程
kafka-reassign-partitions.sh --zookeeper $ZK_CONNECT --reassignment-json-file expand-cluster-reassignment.json --execute
(5)验证迁徙过程
kafka-reassign-partitions.sh --zookeeper $ZK_CONNECT --reassignment-json-file expand-cluster-reassignment.json --verify
9.自定义指定分区的迁徙
(1) 创建迁徙的配置文件
cat custom-reassignment.json
{"version":1,"partitions":[{"topic":"foo1","partition":0,"replicas":[5,6]},{"topic":"foo2","partition":1,"replicas":[2,3]}]}
这个配置文件的意思是将foo1的0分区迁徙到broker id为5,6的broker上,将foo2的1分区迁徙到broker id 为2,3的broker上。
(2)执行迁徙过程
kafka-reassign-partitions.sh --zookeeper $ZK_CONNECT --reassignment-json-file custom-reassignment.json --execute
(3)执行验证
kafka-reassign-partitions.sh --zookeeper $ZK_CONNECT --reassignment-json-file custom-reassignment.json --verify
10.增加分区的replication factor
(1) 创建迁徙的配置文件
cat increase-replication-factor.json
{"version":1,
"partitions":[{"topic":"foo","partition":0,"replicas":[5,6,7]}]}
假设foo原来只有broker 5一个replic,现在要增加broker 6,7上。
(2)执行迁徙过程
kafka-reassign-partitions.sh --zookeeper $ZK_CONNECT --reassignment-json-file increase-replication-factor.json --execute
(3)执行验证
kafka-reassign-partitions.sh --zookeeper $ZK_CONNECT --reassignment-json-file increase-replication-factor.json --verify
相关文章推荐
- 理解操作系统的sleep函数
- MFC中改变对话框背景的几个消息函数OnEraseBkgnd、 OnPaint、 OnCtlColor的调用顺序
- 面试必须get的技能点
- 在ASP.Net和IIS中删除不必要的HTTP响应头
- angularJS中的事件
- Assigning to 'id<MBProgressHUDDelegate>' from incompatible type '***ViewController *const __strong'
- 遭遇:“传入的表格格式数据流(TDS)远程过程调用(RPC)协议流不正确” 错误
- head first python读书笔记(十一)
- 汉诺塔(一) 88 (快速幂+递推)
- jQuery Mobile入门
- http的keepalive参数设置策略
- windows以及linux 环境下Google Protocol Buffer 下载编译安装教程
- Unity 3D 使用Relief Terrain Pack(RTP) 问题
- 猪猪侠那里弄的python递归脚本
- pod install unable to exec Xcode native xcrun (Permission denied)
- 简单身份证合法性验证JAVA
- zend studio自动添加文件注释和方法注释
- 去掉UItableview headerview黏性
- 城市平乱(Bellman)
- 事件传递,下拉刷新,手势