flume 采集数据到hdfs



前言:在两台机器上做flume 采集数据实验:hadoop05上安装flume 1.5.0版本,hadoop07上安装hadoop2.2.0版本






一、安装
    前提:flume是依赖jdk,所以需要安装jdk,这里就不多说,jdk 安装目录/usr/local/jdk1.6.0_45
    下载安装文件:apache-flume-1.5.0-bin.tar.gz,上传到linux 目录:/usr/local/
解压文件tar -zvxf apache-flume-1.5.0-bin.tar.gz 得到apache-flume-1.5.0-bin ,以下称为FLUME_HOME
二、修改配置文件
    cd apache-flume-1.5.0-bin/conf 下 
    mv flume-env.sh.template flume-env.sh
    vim flume-env.sh 添加jdk 配置:JAVA_HOME=/usr/local/jdk1.6.0_45 保存退出
三、建立配置文件,这个配置文件是flume :source、channel、sink三大组件的配置,取名为example.conf ,内容如下:
#定义agent名, source、channel、sink的名称
example.sources = r1
example.channels = c1
example.sinks = k1




#具体定义source
example.sources.r1.type = spooldir
example.sources.r1.spoolDir = /home/hadoop/logs




#具体定义channel
example.channels.c1.type = memory
example.channels.c1.capacity = 10000
example.channels.c1.transactionCapacity = 100




#定义拦截器,为消息添加时间戳
example.sources.r1.interceptors = i1
example.sources.r1.interceptors.i1.type = org.apache.flume.interceptor.TimestampInterceptor$Builder








#具体定义sink
example.sinks.k1.type = hdfs
example.sinks.k1.hdfs.path = hdfs://hadoop07:9000/flume/%Y%m%d
example.sinks.k1.hdfs.filePrefix = events-
example.sinks.k1.hdfs.fileType = DataStream
#不按照条数生成文件
example.sinks.k1.hdfs.rollCount = 0
#HDFS上的文件达到128M时生成一个文件
example.sinks.k1.hdfs.rollSize = 134217728
#HDFS上的文件达到60秒生成一个文件
example.sinks.k1.hdfs.rollInterval = 60




#组装source、channel、sink
example.sources.r1.channels = c1
example.sinks.k1.channel = c1
  
jiang
四、拷贝需要hadoop 的jar包,因为是收集数据到hdfs,需要调用到hdfs 客户端接口,所以需要以下几个jar
      在hadoop 解压之后的相对路径:(这里是使用hadoop2.2.0版本)
     --hadoop-2.2.0/share/hadoop
                                                    --common/hadoop-common-2.2.0.jar
                                                    --common/lib/common-configuration-1.6.jar
                                                    --common/lib/hadoop-auth-2.2.0.jar
                                                   --hdfs/hadoop-hdfs-2.2.0.jar
  到${FLUME_HOME}/lib下
五、通知flume 知道hadoop的信息
     要让flume 知道hadoop的配置,所以需要拷贝hadoop 的两个核心配置文件:core-site.xml 和hdfs-site.xml到
   ${FLUME_HOME}/conf下


六、启动hadoop
所有的配置都已经准备好,  启动hadoop07 机器上的hadoop ,根据example.conf 中的配置而定,我这里用的是hadoop07,为了防止错误,建立我们本机的监听目录:
    /home/hadoop/logs,
七、启动flume
     所用的前提已经准备好,此时最后一步,启动flume:
    ${FLUME_HOME}/bin/flume-ng agent -n example -c conf -f conf/exmple.conf -Dflume.root.logger=INFO,console


  擦数说明:agent -n example     代理对象
                       -c conf        配置文件的地址目录      
                      -f  conf/exmple.conf        指制定配置文件
                      -Dflume.root.logger=INFO,console     日志级别为INFO ,打印在控制台上


八、校验
   将拷贝文件     cp /data/flume_test.txt  /home/hadoop/logs 下
   flume 会将其采取,到hdfs 中查看是否有多了一个flume 文件


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值