[英]Are there any standards for defining sets of Kafka topics?
可以通过命令行工具或API创建Kafka主题。
在具有多个主题和多个环境(dev / qa / prod等)的大型系统中,有必要控制主题的创建及其配置(分区等)。 例如,我们可能想在源代码管理下维护一个shell脚本文件,该文件检查主题是否已经存在,如果不存在则创建它。 然后可以将该相同的脚本应用于每个连续的环境(可能自动作为CI / CD的一部分)以创建或修改所需的主题。
是否有用于维护Kafka主题拓扑的标准文件格式或工具?
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>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.