flume基础原理介绍
从学习flume到在自己的3台虚拟机集群中安装,调试到最后成功,记录一下flume的原理,及安装运行时的注意点
一。flume的工作方式
数据发生器就是产生数据的地方,如产生各种日志文件的进程,文件夹的变动,用户浏览历史信息等
数据发生器和agent在相同服务器上,agent是进程,ps aux即可发现
其中,重点是Agent的工作方式
上图都是用我用画板画的,大家将就看
重点是sources,channel,sink的对应关系,一个sink对应一个channel,
channel是source与sink之间的桥梁,配置文件中可以设置为file,memory等
二。应用讲解
flume的conf下,新建flume.conf
这个文件可以改很多,以使用avro,hbase,kafka等存储仓库来存储信息
具体的配置网上都有,使用不同的数据仓库配置文件也不同
配置文件和重要,配置的属性很多,例如channel个数,数据仓库的位置,存储方式等等
所以flume应用很广,监听端口,进程,文件夹等等,都可以相应的产生文件到数据仓库中
三。启动命令
flume-ng agent --conf /opt/flume1.8/conf \
-f /opt/flume1.8/conf/flume.conf \
-n agent \
-Dflume.root.logger=DEBUG,console、
当然这是debug,学习阶段这样启动
启动后:echo "1111">/tmp/spooldir/.file1.txt
mv /tmp/spooldir/.file1.txt /tmp/spooldir/file1.txt
我这里配置到了hdfs
hdfs dfs -cat /flume
即可以看到新增文件的内容