温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

kafka的命令管理是什么

发布时间:2021-10-21 10:42:28 来源:亿速云 阅读:84 作者:柒染 栏目:大数据

本篇文章给大家分享的是有关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的命令管理是什么,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注亿速云行业资讯频道。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI