kafka消费特定topic shell脚本

脚本说明:

Kafka消费者工具脚本,输入参数topic名称,消费该topic。

bash 复制代码
#!/bin/bash
# Kafka 3.x 控制台消费者封装脚本
# 使用方法:./kfk.sh 主题名称
# 示例:./kfk.sh test_topic

################################### 【配置项 - 请根据你的环境进行修改】 ###################################
# Kafka 安装根目录(必填:修改为你的 Kafka 3.x 实际路径)
#KAFKA_HOME="/usr/local/kafka"
# Kafka 集群地址(ip:port,多个用逗号分隔)
BOOTSTRAP_SERVERS="kfk01:9092,kfk02:9092:kfk03:9092"
# 消费者组(自定义,不重复即可)
CONSUMER_GROUP="your-consumer-group"
# 消费起始位置:beginning-从头开始 latest-从最新消息开始
FROM_OFFSET="beginning"
####################################################################################################

# ====================== 参数校验 ======================
if [ $# -ne 1 ]; then
    echo -e "\033[31m[错误] 请传入一个参数:Topic 名称\033[0m"
    echo -e "\033[32m[用法] ./$0  topic_name\033[0m"
    echo -e "\033[32m[示例] ./$0  tms_ods\033[0m"
    exit 1
fi

# 接收 Topic 参数
TOPIC_NAME=$1

# ====================== 环境校验 ======================
# 检查 Kafka 目录是否存在
if [ ! -d "${KAFKA_HOME}" ]; then
    echo -e "\033[31m[错误] Kafka 目录不存在:${KAFKA_HOME}\033[0m"
    exit 1
fi

# 检查消费者脚本是否存在(Kafka 3.x 固定路径)
CONSUMER_SCRIPT="${KAFKA_HOME}/bin/kafka-console-consumer.sh"
if [ ! -f "${CONSUMER_SCRIPT}" ]; then
    echo -e "\033[31m[错误] 消费者脚本不存在:${CONSUMER_SCRIPT}\033[0m"
    echo -e "\033[31m请检查 KAFKA_HOME 配置是否正确\033[0m"
    exit 1
fi

# ====================== 启动消费 ======================
echo -e "\033[36m=============================================\033[0m"
echo -e "\033[32m[信息] Kafka 3.x 消费者启动成功\033[0m"
echo -e "\033[32m[集群] ${BOOTSTRAP_SERVERS}\033[0m"
echo -e "\033[32m[Topic] ${TOPIC_NAME}\033[0m"
echo -e "\033[32m[消费位置] ${FROM_OFFSET}\033[0m"
echo -e "\033[33m[操作] 按 Ctrl+C 停止消费\033[0m"
echo -e "\033[36m=============================================\033[0m"
echo ""

# 执行 Kafka 3.x 消费命令
${CONSUMER_SCRIPT} \
    --bootstrap-server ${BOOTSTRAP_SERVERS} \
    --topic ${TOPIC_NAME} \
    --group ${CONSUMER_GROUP} \
    --from-${FROM_OFFSET}

# ====================== 退出提示 ======================
echo -e "\n\033[35m[退出] 已停止消费 Topic:${TOPIC_NAME}\033[0m"
exit 0
相关推荐
布鲁飞丝17 小时前
kafka 副本集设置和理解
分布式·kafka
香菜TTT1 天前
Kafka_深度解析_从架构原理到生产实践
分布式·架构·kafka·linq
java1234_小锋2 天前
【免费】基于Spark实时金融交易风险监控与预测系统(Java版本+可视化大屏+Kafka+SpringBoot+Vue3) 锋哥原创出品,必属精品
大数据·spark·kafka·金融交易风险监控与预测
梦想画家2 天前
FilePulse:Kafka Connect 的“智能文件网关”,重塑数据接入新范式
kafka·文件连接器·filepulse
Devin~Y2 天前
从本地生活电商到 AI RAG:互联网大厂 Java 面试场景完整实战
java·spring boot·redis·elasticsearch·spring cloud·kafka·rag
斯普润布特2 天前
Kafka KRaft 三节点 ARM64 Docker 部署
分布式·kafka
梦想画家2 天前
告别轮询:基于PostgreSQL CDC构建实时数据管道
数据库·postgresql·kafka·实时湖仓
后端观测站2 天前
第一篇:为什么需要消息队列?
kafka·java-rocketmq
重庆小透明2 天前
带你从不同视角了解三大MQ
java·学习·spring·kafka·rabbitmq·rocketmq
L1624762 天前
消息队列(MQ)总览:RabbitMQ & Kafka 完整手册
分布式·kafka·rabbitmq