Kafka主题的定义有什么标准吗?

q8l4jmvw  于 2021-06-08  发布在  Kafka
关注(0)|答案(1)|浏览(262)

kafka主题可以通过命令行工具或api创建。
在有多个主题和多个环境(dev/qa/prod等)的大型系统中,有必要控制主题的创建及其配置(分区等)。例如,我们可能希望在源代码管理下维护一个shell脚本文件,该文件检查主题是否已经存在,如果不存在,则创建它。然后,可以将相同的脚本应用于每个连续的环境(可能自动作为ci/cd的一部分),以创建或修改所需的主题。
有没有标准的文件格式或工具来维护Kafka主题拓扑?

xzabzqsa

xzabzqsa1#

kafka没有提供现成的脚本,但是您可以编写一个简单的shell脚本来实现这一点,如下所示:


# !/bin/bash

TOPIC=$1
ZK_CONNECT=localhost:2181
KAFKA_PATH=<your Kafka install directory>
LIST=`$KAFKA_PATH/bin/kafka-topics.sh --zookeeper $ZK_CONNECT --list`
arr=$(echo $LIST|tr " ", "\n")
for each in ${arr[*]}
do
    if [[ $each == $TOPIC ]]; then 
            echo "Already exists..."
            exit
    fi
done

$KAFKA_PATH/bin/kafka-topics.sh --zookeeper $ZK_CONNECT --create --topic \
    $TOPIC --partitions <num_partitions> --replication-factor <num_replicas>

相关问题