Flume使用和特点
1)分布式:可以在多台机器上运行多个flume,日志文件往往分布在不同的机器里面
(2) collecting, aggregating, and moving
收集 聚集 移动
(3)组件agent
source:从数据源读取数据的,将数据转换为数据流,将数据丢给channel
channel:类似于一个队列,临时存储source发送过来的数据
sink:负责从channel中读取数据, 然后发送给目的地
(4)flume的使用很简单,就是一个配置文件,
版本:
flume-ng:(next generation): 目前使用该版本
1.5~1.7
flume-og:(Original generation):以前的版本,淘汰
修改配置
(1)mv flume-env.sh.template flume-env.sh
export JAVA_HOME=/opt/modules/jdk1.8.0_91
(2)找到HDFS的地址:
(1)声明Hadoop_home为全局环境变量
全局配置
(2)将core-site.xml和hdfs-site.xml放到flume配置文件下(推荐)
cp /opt/cdh5.7.6/hadoop-2.6.0-cdh5.7.6/etc/hadoop/core-site.xml /opt/cdh5.7.6/hadoop-2.6.0-cdh5.7.6/etc/hadoop/hdfs-site.xml ./
(3)直接在使用的时候给HDFS绝对路径
hdfs://hostname:8020/aa/bb
(3)添加HDFS的Jar包lib目录下:在执行的过程中需要使用HDFS api
运行测试
bin/flume-ng agent -n a1 -c conf -f case/1-flume-conf.properties -Dflume.root.logger=INFO,console
-f 动态查看日志,进行操作时在输出台上可以看到变化。