kafka 命令管理

一:主题管理

1:创建主题,分区8个,副本为2(副本数不能超过集群中broker数)

bin/kafka-topics.sh  --bootstrap-server 192.168.1.131:9092 --create --topic mytopic --replication-factor 2 --partitions 8

2:修改主题分区(主题分区只能添加,不能删除)

bin/kafka-topics.sh  --bootstrap-server 192.168.1.131:9092   --alter   --topic mytopic  --partitions 10
 
3:删除主题
bin/kafka-topics.sh  --bootstrap-server 192.168.1.131:9092   --delete  --topic mytopic
 
4:列出全部主题
bin/kafka-topics.sh  --bootstrap-server 192.168.1.131:9092   --list
5:查看主题详细
bin/kafka-topics.sh  --bootstrap-server 192.168.1.131:9092   --describe
6:列出不同步的主题
bin/kafka-topics.sh --bootstrap-server 192.168.1.131:9092 --describe --under-replicated-partition
7:列出没有lender的主题
bin/kafka-topics.sh --bootstrap-server 192.168.1.131:9092 --describe --under-replicated-partition
 
二:动态默认配置
1:修改主题参数(消息保留时间设为1小时,entitiy-type topics 指明覆盖主题配置)
bin/kafka-configs.sh --zookeeper 192.168.1.131:2181 --alter --entity-type topics --entity-name mytopic --add-config retention.ms=3600000
2:修改brokers默认配置
bin/kafka-configs.sh --bootstrap-server 192.168.1.131:9092 --alter --entity-type brokers --entity-name 0 --add-config num.io.threads=10
3:修改客户端默认配置
bin/kafka-configs.sh --zookeeper 192.168.1.131:2181 --alter --entity-type clients --entity-name admin --add-config producer_bytes-rate=10
4:移除动态配置
bin/kafka-configs.sh --zookeeper 192.168.1.131:2181 —alter —entity-type topics —entity-name mytopic   —delete-config retention.ms
5:查看动态配置
bin/kafka-configs.sh --zookeeper 192.168.1.131:2181 —describe —entity-type topics —entity-name mytopic
 
三:分区管理(Kafka提供两个脚本管理分区,一个用于重新选举首领,一个用于将分区分配给broker,结合这两个工具,就可以实现集群流量的负载均衡。使用多个分区副本可以提升可靠性,不过只有其中一个副本可以成为分区首领,只有首领所在broker可以进行生产和消费活动。Kafka将副本清单第一个同步副本选为首领,但在关闭并重启broker之后,并不会自动恢复原先的首领身份。broker有一个配置可以用于启动自动首领再均衡,不过不建议在生产环境使用该功能。)
1:启动分区选举(kafka默认选举)
  bin/kafka-preferred-replica-election.sh  --zookeeper 192.168.1.131:2181
2:启动分区选举并指明选举首领(写入在配置文件)
bin/kafka-preferred-replica-election.sh  --zookeeper 192.168.126.128:2181 —path-to-json-file partitons.json
3:修改分区副本
  • 有时需要修改分区副本,以下时需要修改分区副本的场景
  • 1.主题分区在整个集群的不均衡分布造成集群负载不均衡
  • 2.broker离线造成分区不同步
  • 3.新加入的broker需要从集群获得负载。
  • 可以使用Kafka-reassign-partitions.sh 工具来修改分区。
  • 第一步:根据broker清单和主题清单生成一组迁移步骤;
  • 第二步,执行迁移步骤;
  • 第三步:可以使用生成的迁移步骤验证分区重分配的进度和完成情况。
  • 示例:为topics.json文件里的主题生成迁移步骤,将这些主题迁移到broker0和broker1上。
  • bin/kafka-reassign-partitions.sh --zookeeper 192.168.1.131:2181 —generate —topics-to-move-json-file topics.json —broker-list 0,1
  • 这个工具会在控制台输出两个json,分别描述里当前分区和建议分区分配方案,可以把第一个json保存起来,以备回滚。
  • 第二个json应该被保存到另一个文件,作为kafka-reassign-partitons.sh工具的输入来执行第二个步骤。
  • 示例:使用reassign.json来执行建议的分区分配方案
  • bin/kafka-reassign-partitions.sh --zookeeper 192.168.1.131:2181 —execute —reassignment-json-file reassign.json
  • 该命令会将指定分区的副本重新分配到新的broker上。
  • 在重分配进行过程中或完成之后,可以使用kafka-reassign-partitions.sh工具验证重分配的状态。
  • 示例:验证reassign.json文件里指定的分区重分配情况。
  • bin/kafka-reassign-partitions.sh --zookeeper 192.168.1.131:2181  —verify —reassignment-json-file reassign.json
 

 

 
 
 
 
 

 

转载于:https://my.oschina.net/xppba/blog/3084419

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值