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
相关推荐
我不会起名字3222 天前
Kafka 顺序消息为什么乱了:分区数变化与重试的 3 类原因
kafka·消息队列·顺序·排查
每天一道题2 天前
Kafka 是如何工作的?从 Broker、Partition、Offset 到 Consumer Group
分布式·kafka
ClouGence2 天前
还在用命令行管理 Kafka?开源 CloudDM 让操作更简单
数据库·kafka·开源
Sayai3 天前
Kafka 磁盘空间治理实战:retention 保留策略、log.dirs 在线扩容、分区跨盘迁移与不停机整体换盘
大数据·运维·分布式·kafka·消息队列
孤狼GPT3 天前
ChatGPT、Codex排查实录:Kafka消费者日志明明显示处理成功,为什么同一条消息还是被重复消费?
kafka·springboot·codex·chatgptplus·chatgptpro
starzy19903 天前
KafkaProducer 源码深度剖析:batch 发送的条件
大数据·kafka
SL-staff4 天前
JVS私有化部署运维避坑指南:Kafka容灾、ES冷热分离、RabbitMQ可观测性三实战检查项
elasticsearch·kafka·jvs运维·es冷热分离·rabbitmq监控·中间件巡检·sre实践
starzy19904 天前
KafkaProducer 源码深度剖析:支撑高吞吐的数据结构设计
大数据·数据结构·kafka
starzy19904 天前
KafkaProducer 源码深度剖析:RecordAccumulator 封装消息流程
大数据·kafka