kafka-v1.4-获取所有topic的创建语句

1.在kafka安装目录下获取所有的topic:

./kafka-topics  --zookeeper bigdata106:2181 --list
test
test1
test2

2.创建获取kafka topic信息脚本kafka_topic.sh

替换对应 kafka_path、topic_name

#vim kafka_topic.sh
!/bin/bash

kafka_path=/data/application/kafka/bin
topic_names=("test" "test1" "test3")

# 循环遍历数组中的每个topic_name
for topic_name in "${topic_names[@]}"; do
    # 获取 partition_count 和 replication_count
    partition_count=$($kafka_path/kafka-topics --describe --topic $topic_name --zookeeper hadoop106:2181 | grep "PartitionCount:" | awk '{print $3}' | awk -F':' '{print $2}')
    replication_count=$($kafka_path/kafka-topics --describe --topic $topic_name --zookeeper hadoop106:2181 | grep "ReplicationFactor:" | awk '{print $3}' | awk -F':' '{print $2}')
    
    # 输出 topic_name、partition_count 和 replication_count
    echo "topic:$topic_name | partition_count: $partition_count | replication_count: $replication_count"
    
    # 追加命令到文件 kafka_create_topic.sh
    echo '$'"kafka_path"'/kafka-topics --zookeeper bigdata106:2181 --create --topic '"$topic_name"' --replication-factor '"$replication_count"' --partitions '"$partition_count" >> ./kafka_create_topic.sh
done

3.最后在脚本执行的当前目录下生成kafka_create_topic.sh脚本文件

进去指定kafka_path 一键创建topic

#路径是新增部分
kafka_path=/data/application/kafka/bin
$kafka_path/kafka-topics --zookeeper hadoop106:2181 --create --topic test --replication-factor 1 --partitions 1
$kafka_path/kafka-topics --zookeeper hadoop106:2181 --create --topic test1 --replication-factor 2 --partitions 2 
$kafka_path/kafka-topics --zookeeper hadoop106:2181 --create --topic test2 --replication-factor 3 --partitions 3 

4.最后执行脚本即可创建出所有的topic

  • 4
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值