-
启动kafka
bin/kafka-server-start.sh config/server.properties 使用afka-server-start脚本,指定配置文件启动
-
主题管理
//使用help,可以看到关于主题操作相关所有命令说明 ./kafka-topics.sh --help //创建topic(--partitions表示分区数量,--replication-factor 表示副本数量包括leader) ./bin/kafka-topics.sh --zookeeper localhost:2181 --create --topic topic-a --partitions 2 --replication-factor 1 //创建topic自己分配副本在节点中(--replica-assignment用来指定副本的分配情况,他的参数每个分区的分配情况 //用逗号隔开,每个分区内部分配在哪个brokerId用:隔开,每个分区内第一个指的是leader的brokerId) ./bin/kafka-topics.sh --zookeeper localhost:2181 --create --topic topic-create-same --replica-assignment 0:1,0:1,0:1,0:1 //查看目前kafka节点中有哪些topic(--zookeeper指明地址,kafka的元数据都存在zookeeper中) ./bin/kafka-topics.sh --zookeeper localhost:2181 --list //查看某个topic的详情(--topic指定topic的名称) ./bin/kafka-topics.sh --zookeeper localhost:2181 --topic topic-demo --describe //修改topic的一些配置,比如分区数量(--alter表示修改的动作,--partitions指定新的分区数) ./bin/kafka-topics.sh --zookeeper localhost:2181 --alter --topic topic-demo --partitions 3
-
优先副本选举
//手动启动优先副本选举算法,让分区达到均衡负载,会扫描所有的topic ./bin/kafka-preferred-replica-election.sh --zookeeper localhost:2181 //手动启动优先副本选举算法,让分区达到均衡负载,对指定的topic的指定分区(--path-to-json-file指定) ./bin/kafka-preferred-replica-election.sh --zookeeper localhost:2181 --path-to-json-file kafka-preferred-replica-election.json //kafka-preferred-replica-election.json { "partitions":[ { "partition":1, "topic":"topic-create" } ] } //如果auto.leader. rebalance.enable=true,其实kafka会自动均衡负载进行leader调整
-
分区重分配
//生成重分配方案 (--topics-to-move-json-file指定 哪些topic需要重新分配, // --broker-list 指定需要重新分配的topic的副本分布在的节点列表) bin/kafka-reassign-partitions.sh --zookeeper localhost:2181/kafka --generate --topics-to-move-json-file reassign.json --broker-list 0,2 //reassign.json { "topics":[ { "topic":"topic-reassign" } ], "version":1 } //将生成的方案保存为project.json,无论是增加副本还是减少副本,可以通过修改这个文件来操作 //执行重新分配方案(--reassignment-json-file 指定执行的方案,是方案生成的一个json串) bin/kafka-reassign-partitions.sh --zookeeper localhost:2181 --execute --reassignment-json-file project.json
//project.json { "version": 1, "partitions": [ { "topic": "topic-ff", "partition": 1, "replicas": [ 1,0 //增加减少副本需要修改 ], "log_dirs": [ "any","any" //增加减少副本需要修改 ] }, { "topic": "topic-ff", "partition": 0, "replicas": [ 0,1 //增加减少副本需要修改 ], "log_dirs": [ "any","any" //增加减少副本需要修改 ] } ] }
kafka常用命令的使用
最新推荐文章于 2022-07-25 21:06:51 发布