写点什么

【kafka 运维】TopicCommand 运维脚本 (1)

  • 2022-10-23
    江西
  • 本文字数:1550 字

    阅读完需:约 5 分钟

【kafka运维】TopicCommand运维脚本(1)

1TopicCommand

1.Topic 创建

bin/kafka-topics.sh --create --bootstrap-server localhost:9092 --replication-factor 3 --partitions 3 --topic test


相关可选参数

2.删除 Topic

bin/kafka-topics.sh --bootstrap-server localhost:9092 --delete --topic test


支持正则表达式匹配 Topic 来进行删除,只需要将 topic 用双引号包裹起来例如: 删除以create_topic_byhand_zk为开头的 topic;

bin/kafka-topics.sh --bootstrap-server localhost:9092 --delete --topic "create_topic_byhand_zk.*".表示任意匹配除换行符 \n 之外的任何单字符。要匹配 . ,请使用 . 。·*·:匹配前面的子表达式零次或多次。要匹配 * 字符,请使用 *。.* : 任意字符

删除任意 Topic (慎用)

bin/kafka-topics.sh --bootstrap-server localhost:9092 --delete --topic ".*?"

更多的用法请参考正则表达式

相关配置

3.Topic 分区扩容

zk 方式(不推荐)

>bin/kafka-topics.sh --zookeeper localhost:2181 --alter --topic topic1 --partitions 2

kafka 版本 >= 2.2 支持下面方式(推荐)

单个 Topic 扩容

bin/kafka-topics.sh --bootstrap-server broker_host:port --alter --topic test_create_topic1 --partitions 4

批量扩容 (将所有正则表达式匹配到的 Topic 分区扩容到 4 个)

sh bin/kafka-topics.sh --topic ".*?" --bootstrap-server 172.23.248.85:9092 --alter --partitions 4

".*?" 正则表达式的意思是匹配所有; 您可按需匹配

PS: 当某个 Topic 的分区少于指定的分区数时候,他会抛出异常;但是不会影响其他 Topic 正常进行;


相关可选参数

PS: 虽然这里配置的是全部的分区副本分配配置,但是正在生效的是新增的分区;比如: 以前 3 分区 1 副本是这样的

现在新增一个分区,--replica-assignment 2,1,3,4 ; 看这个意思好像是把 0,1 号分区互相换个 Broker

但是实际上不会这样做,Controller 在处理的时候会把前面 3 个截掉; 只取新增的分区分配方式,原来的还是不会变

4.查询 Topic 描述

1.查询单个 Topic

sh bin/kafka-topics.sh --topic test --bootstrap-server xxxx:9092 --describe --exclude-internal

2.批量查询 Topic(正则表达式匹配,下面是查询所有 Topic)

sh bin/kafka-topics.sh --topic ".*?" --bootstrap-server xxxx:9092 --describe --exclude-internal

支持正则表达式匹配 Topic,只需要将 topic 用双引号包裹起来


相关可选参数

5.查询 Topic 列表

1.查询所有 Topic 列表

sh bin/kafka-topics.sh --bootstrap-server xxxxxx:9092 --list --exclude-internal

2.查询匹配 Topic 列表(正则表达式)

查询test_create_开头的所有 Topic 列表sh bin/kafka-topics.sh --bootstrap-server xxxxxx:9092 --list --exclude-internal --topic "test_create_.*"


相关可选参数

关于作者:石臻臻的杂货铺, 专注于 Java 领域、大数据领域 等知识分享, 内容多为 原理 、源码、实战 等等, 坚持输出干货,所写内容必定经过验证,并深入源码分析,保证内容准确性, 长期在 CSDN、和公众号【石臻臻的杂货铺】发布原创文章,欢迎关注! 如果有相关技术领域问题,欢迎进群交流,各个领域都有专人解答,你所问的,都会得到回应!


欢迎 Star 和共建由滴滴开源的 kafka 的管理平台满足所有开发运维日常需求


滴滴开源Logi-KafkaManager 一站式Kafka监控与管控平台

2More

Kafka 专栏持续更新中...(源码、原理、实战、运维、视频、面试视频)


【kafka运维】Kafka全网最全最详细运维命令合集(精品强烈建议收藏!!!)_石臻臻的杂货铺-CSDN博客

【kafka实战】分区重分配可能出现的问题和排查问题思路(生产环境实战,干货!!!非常干!!!建议收藏)

【kafka异常】kafka 常见异常处理方案(持续更新! 建议收藏)

【kafka运维】分区从分配、数据迁移、副本扩缩容 (附教学视频)

【kafka源码】ReassignPartitionsCommand源码分析(副本扩缩、数据迁移、副本重分配、副本跨路径迁移

【kafka】更多请移步个人公众号....

发布于: 刚刚阅读数: 3
用户头像

关注公众号: 石臻臻的杂货铺 获取最新文章 2019-09-06 加入

进高质量滴滴技术交流群,只交流技术不闲聊 加 szzdzhp001 进群 20w字《Kafka运维与实战宝典》PDF下载请关注公众号:石臻臻的杂货铺

评论

发布
暂无评论
【kafka运维】TopicCommand运维脚本(1)_kafka_石臻臻的杂货铺_InfoQ写作社区