flume的简单使用

来源:互联网 发布:南昌大学网络教育平台 编辑:程序博客网 时间:2024/05/16 08:59

 flume是一个分布式的海量数据收集框架。

在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

 

===================================================================================================

 

启动flume的命令是  bin/flume-ng agent -n a1 -cconf -f conf/test.conf -Dflume.root.logger=DEBUG,console

0 0
原创粉丝点击