(1)Flume 要想将数据输出到 HDFS,依赖 Hadoop 相关 jar 包
检查/etc/profile 文件,确认 Hadoop 和 Java 环境变量配置正确
JAVA_HOME=/opt/program/jdk
export PATH=$PATH:$JAVA_HOME/bin
HADOOP_HOME=/opt/program/ha/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
(2)…/flume/job,创建 flume-file-hdfs.conf 文件
vi flume-file-hdfs.conf
注:要想读取 Linux 系统中的文件,就得按照 Linux 命令的规则执行命令。由于 Hive日志在 Linux 系统中所以读取文件的类型选择:exec 即 execute 执行的意思。表示执行Linux 命令来读取文件。
添加如下内容:
注意:对于所有与时间相关的转义序列,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)更改test.log文件。vi test.log 任意修改文件内容并保存。
(5)在 HDFS 上查看文件,看到HDFS下有flume文件夹即可。