flume配置与使用

1.flume介绍:

         flume是个日志收集系统,这个日志收集系统由一个或多个agent(代理)构成,每个agent由三部分组成:Source,Channel,Sink,
         
    上面的数据流是,从数据产生,到收集,再到存储。
   

2.flume配置与安装

         flume作为一个数据采集工具,可以有一台,也可以由多台,本身并不依赖于hadoop,但是如果是sink的位置是HDFS,则需要导入hadoop
         对应的一些相关jar包。
         
flume 数据采集服务,可以部署一个或者多个,不依赖与hadoop

1.上传tar包


2.解压

tar -zxvf apache-flume-1.5.0-bin.tar.gz -C /usr/itcast

3.修改配置文件

 flume-env.sh.template 
 修改JAVA_HOME=/usr/itcast/jdk
 JAVA_OPTS="-Xms100m -Xmx200m -Dcom.sun.management.jmxremote"
 可以修改内存
 

4.写agent(输出到控制台的)


在/usr/itcast/flume/conf/agent/ 这个路径下创建a2.conf(文件位置可以随意,但是一定要与flume启动时对应的命令参数相匹配)
内容是:
#定义agent名, source、channel、sink的名称
a2.sources = r1
a2.channels = c1
a2.sinks = k1

#具体定义source(数据源),执行命令是exec tail -F ,也就是说监控/usr/itcast/usr/a.log 这个文件的内容,也可以是目录
a2.sources.r1.type = exec
a2.sources.r1.command = tail -F /usr/itcast/usr/a.log

#具体定义channel(管道),暂时存储到内从中
a2.channels.c1.type = memory
a2.channels.c1.capacity = 1000
a2.channels.c1.transactionCapacity = 100

#具体定义sink(接收器),输出到控制台
a2.sinks.k1.type = logger

#组装source、channel、sink
a2.sources.r1.channels = c1
a2.sinks.k1.channel = c1

5.启动flume

flume-ng agent -n a2 -f /usr/itcast/flume/conf/agent/a2.conf  -c conf -Dflume.root.logger=INFO,console

6.配置agent(采集数据到hdfs中)

在/usr/itcast/flume/conf/agent/ 这个路径下创建a4.conf(文件位置可以随意,但是一定要与flume启动时对应的命令参数相匹配)

#定义agent名, source、channel、sink的名称
a4.sources = r1
a4.channels = c1
a4.sinks = k1

#具体定义source,监控的目录是/home/hadoop/logs,
a4.sources.r1.type = spooldir
a4.sources.r1.spoolDir = /home/hadoop/logs

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

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


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

#组装source、channel、sink
a4.sources.r1.channels = c1
a4.sinks.k1.channel = c1


7.启动flume

flume-ng agent -n a4 -f /usr/itcast/flume/conf/agent/a4.conf  -c conf -Dflume.root.logger=INFO,console

8.如果flume这台机器上上本身没有安装hadoop,则hdfs作为数据收集器时,需要将相关的jar拷贝到lib下
要依赖的hadoop的jar包(启动时会报异常,缺少jar包)
拷贝hadoop-common-2.4.1.jar(hadoop-2.4.1\share\hadoop\common) 到/usr/itcast/flume/lib
拷贝commons-configuration-1.6.jar(hadoop-2.4.1\share\hadoop\common\lib) 到/usr/itcast/flume/lib
拷贝hadoop-hdfs-2.4.1.jar(hadoop-2.4.1\share\hadoop\hdfs) 到/usr/itcast/flume/lib
拷贝hadoop-auth-2.4.1.jar(hadoop-2.4.1\share\hadoop\common\lib) 到/usr/itcast/flume/lib







  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值