本篇文章给大家分享的是有关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
以上就是kafka的命令管理是什么,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注亿速云行业资讯频道。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。