这篇文章给大家分享的是有关Flume框架的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。
Flume是一个分布式的海量数据收集框架.
Flume框架流程图
Channel是缓存的数据,如果Sink传送给了HDFS,Channel中缓存的数据就会删除,如果没有传送成功,Channel相当于做了备份,Sink重复从Channel中取数据.
在hadoop0上部署一个Flume agent
1、把apache-flume-1.4.0-bin.tar.gz和apache-flume-1.4.0-src.tar.gz在hadoop0上解压缩.
2、把解压缩后的apache-flume-1.4.0-src文件夹中的内容全部复制到apache-flume-1.4.0.-bin文件夹中.
3、修改conf目录下的两个文件的名称,一个是flume-env.sh,一个是flume-conf.properties.
其中在flume-env.sh中设置了JAVA_HOME值.
4、实例:把磁盘文件夹中文件通过flume上传到HDFS中.
4.1 在conf目录下创建一个文件,叫做test.conf,文件内容如下:
#配置代理
#a1是一个代理名称,s1是source的名称,sink1是sink的名称,c1是channel的名称
a1.sources = s1
a1.sinks = sink1
a1.channels = c1
#配置一个专用于从文件夹中读取数据的source
a1.sources.s1.type = spooldir
a1.sources.s1.spoolDir = /apache_logs #值apache_logs表示数据文件的目录
a1.sources.s1.fileSuffix=.abc #值.abc表示数据文件被处理完后,被重命名的文件名后缀
a1.sources.s1.channels = c1 #值c1表示source接收数据后送到的channel的名称
#配置一个专用于把输入写入到hdfs的sink
a1.sinks.sink1.type = hdfs
a1.sinks.sink1.hdfs.path=hdfs://hadoop0:9000/apache_logs #值表示目的地
a1.sinks.sink1.hdfs.fileType=DataStream #值DataStream表示文件类型,是不经过压缩的
a1.sinks.sink1.hdfs.writeFormat=Text #值表示写出文件原内容
a1.sinks.sink1.channel = c1 #值c1表示sink处理数据的来源
#配置一个内存中处理的channel
a1.channels.c1.type = memory
a1.channels.c1.capacity = 1000
a1.channels.c1.transactionCapacity = 100
运行:[root@hadoop conf]# ../bin/flume-ng agent --conf conf --conf-file test.conf --name a1 -Dflume.root.looger=DEBUG,console
感谢各位的阅读!关于“Flume框架的示例分析”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。