检查kafka状态的shell脚本
时间: 2024-09-10 13:15:13 浏览: 52
sh代码-Shell 脚本方式启动Kafka服务
检查Kafka状态的shell脚本通常会使用Kafka自带的命令行工具,如`kafka-topics.sh`、`kafka-consumer-groups.sh`、`kafka-broker-api-versions.sh`等,来获取Kafka集群的状态信息。以下是一个简单的shell脚本示例,用于检查Kafka集群中各个broker的运行状态:
```bash
#!/bin/bash
# Kafka安装目录
KAFKA_HOME="/path/to/kafka"
# Kafka broker列表
BROKER_LIST="localhost:9092"
# Kafka的bin目录
KAFKA_BIN="${KAFKA_HOME}/bin"
# 检查Kafka broker状态
check_broker_status() {
for broker in ${BROKER_LIST}; do
echo "检查broker ${broker} 状态..."
${KAFKA_BIN}/kafka-broker-api-versions.sh --broker-list ${broker} --timeout 10000
if [ $? -eq 0 ]; then
echo "broker ${broker} 正常运行。"
else
echo "broker ${broker} 无法连接,请检查。"
fi
done
}
# 检查Kafka topic列表
check_topics() {
echo "检查Kafka topic列表..."
${KAFKA_BIN}/kafka-topics.sh --list --zookeeper ${BROKER_LIST}
}
# 检查Kafka消费者组状态
check_consumer_groups() {
echo "检查Kafka消费者组状态..."
${KAFKA_BIN}/kafka-consumer-groups.sh --new-consumer --list --bootstrap-server ${BROKER_LIST}
}
# 执行检查
check_broker_status
check_topics
check_consumer_groups
```
在运行此脚本之前,请确保你已经安装了Kafka,并且已经设置了正确的`KAFKA_HOME`环境变量,以及确保脚本有执行权限。
阅读全文