大数据全系列 教程
1869个小节阅读:465.3k
目录
JAVA全系列 教程
面向对象的程序设计语言
Python全系列 教程
Python3.x版本,未来主流的版本
人工智能 教程
顺势而为,AI创新未来
大厂算法 教程
算法,程序员自我提升必经之路
C++ 教程
一门通用计算机编程语言
微服务 教程
目前业界流行的框架组合
web前端全系列 教程
通向WEB技术世界的钥匙
大数据全系列 教程
站在云端操控万千数据
AIGC全能工具班
A A
White Night
案例1:监控指定路径,采集新增的文件,每5秒在hdfs上创建一个新的文件夹
具体步骤:
启动hadoop集群
xxxxxxxxxx
[root@node1 ~]# startha.sh
停止flume服务:Ctrl+C
赋值配置文件
xxxxxxxxxx
[root@node3 ~]# cd /opt/flume-1.9.0/jobs/
[root@node3 jobs]# cp spooldir-logger.conf spooldir-hdfs1.conf
修改文件spooldir-hdfs1.conf
xxxxxxxxxx
[root@node3 jobs]# vim spooldir-hdfs1.conf
# Describe the sink sink相关参数的配置
a1.sinks.k1.type = hdfs
# 指定在hdfs上的保持路径 时间会四舍五入
a1.sinks.k1.hdfs.path = /flume/events/%m-%d/%H%M/%S
# 指定在hdfs上的文件前缀
a1.sinks.k1.hdfs.filePrefix = events-
# 设置目录的生成策略
a1.sinks.k1.hdfs.round = true
a1.sinks.k1.hdfs.roundValue = 5
a1.sinks.k1.hdfs.roundUnit = second
删除文件
xxxxxxxxxx
[root@node3 ~]# rm -f /root/log/log.txt.itbaizhan
向指定目录拷贝文件
xxxxxxxxxx
[root@node3 ~]# cp log.txt log/
启动flume
xxxxxxxxxx
[root@node3 jobs]# flume-ng agent --conf ./ --name a1 --conf-file spooldir-hdfs1.conf -Dflume.root.logger=INFO,console
如果不配置a1.sinks.k1.hdfs.useLocalTimeStamp=true,flume在启动时,存在未被处理的文件的时候抛以下异常:
xxxxxxxxxx
ERROR hdfs.HDFSEventSink: process failed
java.lang.NullPointerException: Expected timestamp in the Flume event headers, but it was null
修改文件spooldir-hdfs1.conf,添加配置
xxxxxxxxxx
[root@node3 jobs]# vim spooldir-hdfs1.conf
# 配置使用本地时间戳
a1.sinks.k1.hdfs.useLocalTimeStamp = true
启动flume
xxxxxxxxxx
[root@node3 jobs]# flume-ng agent --conf ./ --name a1 --conf-file spooldir-hdfs1.conf -Dflume.root.logger=INFO,console
不再出现异常信息。
拷贝文件到/root/log目录下
xxxxxxxxxx
[root@node3 ~]# cp nohup.out log/
[root@node3 ~]# cp anaconda-ks.cfg log/
[root@node3 ~]# cp passwd log/
查看hdfs文件系统
http://node1:9870/explorer.html#/flume/events
或