Flume基础知识(四):Flume实战之实时监控单个追加文件

1)案例需求:

实时监控 Hive 日志,并上传到 HDFS 中

2)需求分析:

3)实现步骤:

(1)Flume 要想将数据输出到 HDFS,依赖 Hadoop 相关 jar 包

检查/etc/profile.d/my_env.sh 文件,确认 Hadoop 和 Java 环境变量配置正确

复制代码
JAVA_HOME=/opt/module/jdk1.8.0_212
HADOOP_HOME=/opt/module/ha/hadoop-3.1.3
PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
export PATH JAVA_HOME HADOOP_HOME

(2)创建 flume-file-hdfs.conf 文件

复制代码
vim flume-file-hdfs.conf

注:要想读取 Linux 系统中的文件,就得按照 Linux 命令的规则执行命令。由于 Hive 日志在 Linux 系统中所以读取文件的类型选择:exec 即 execute 执行的意思。表示执行 Linux 命令来读取文件。

添加如下内容

复制代码
# Name the components on this agent
a2.sources = r2
a2.sinks = k2
a2.channels = c2
# Describe/configure the source
a2.sources.r2.type = exec
a2.sources.r2.command = tail -F /opt/module/hive/logs/hive.log
# Describe the sink
a2.sinks.k2.type = hdfs
a2.sinks.k2.hdfs.path = hdfs://hadoop100:8020/flume/%Y%m%d/%H
#上传文件的前缀
a2.sinks.k2.hdfs.filePrefix = logs-
#是否按照时间滚动文件夹
a2.sinks.k2.hdfs.round = true
#多少时间单位创建一个新的文件夹
a2.sinks.k2.hdfs.roundValue = 1
#重新定义时间单位
a2.sinks.k2.hdfs.roundUnit = hour
#是否使用本地时间戳
a2.sinks.k2.hdfs.useLocalTimeStamp = true
#积攒多少个 Event 才 flush 到 HDFS 一次
a2.sinks.k2.hdfs.batchSize = 100
#设置文件类型,可支持压缩
a2.sinks.k2.hdfs.fileType = DataStream
#多久生成一个新的文件
a2.sinks.k2.hdfs.rollInterval = 60
#设置每个文件的滚动大小
a2.sinks.k2.hdfs.rollSize = 134217700
#文件的滚动与 Event 数量无关
a2.sinks.k2.hdfs.rollCount = 0
# Use a channel which buffers events in memory
a2.channels.c2.type = memory
a2.channels.c2.capacity = 1000
a2.channels.c2.transactionCapacity = 100
# Bind the source and sink to the channel
a2.sources.r2.channels = c2
a2.sinks.k2.channel = c2

注意:对于所有与时间相关的转义序列,Event Header 中必须存在以 "timestamp"的 key(除非 hdfs.useLocalTimeStamp 设置为 true,此方法会使用 TimestampInterceptor 自 动添加 timestamp)。

a3.sinks.k3.hdfs.useLocalTimeStamp = true

(3)运行 Flume

复制代码
bin/flume-ng agent --conf conf/ --name a2 --conf-file job/flume-file-hdfs.conf

(4)开启 Hadoop 和 Hive 并操作 Hive 产生日志

(5)在 HDFS 上查看文件。

相关推荐
法雅特吉他2 分钟前
国产吉他品牌技术发展与市场格局分析
大数据·经验分享·新媒体运营·学习方法·流量运营·材质·内容运营
我的温馨家园6 分钟前
新手入局干细胞研究的五大认知陷阱
大数据·人工智能·精选
小羊Yveesss14 分钟前
2026年外贸建站服务器怎么选?访问速度、稳定性和海外收录怎么判断
大数据·运维·服务器
ACP广源盛1392462567316 分钟前
GSV6155 @ACP#工业车规 DP1.4 重定时器 Retimer
大数据·人工智能·分布式·嵌入式硬件
海兰20 分钟前
【AI编程思考:第八篇】从演示到生产:AI工程部署实战指南
大数据·人工智能·ai编程
2601_9628517427 分钟前
计算机毕业设计之基于YOLOV10的低光照目标检测算法研究与实现
大数据·算法·yolo·目标检测·信息可视化·cnn·课程设计
ACP广源盛139246256731 小时前
GSV2221@ACP# DP1.4 MST 多流显示转换芯片国产工业多屏
大数据·人工智能·分布式·嵌入式硬件·spark
吉甫作诵1 小时前
StarRocks 备份与恢复实战:基于 MinIO 的 S3 存储方案
大数据·starrocks·备份恢复
hangyuekejiGEO1 小时前
临沂GEO技术服务方案对比分析
大数据·人工智能·python
cc5725026531 小时前
大数据专业会不会过几年不火了
大数据