Flume生产环境配置

1.解压flume到指定文件夹

tar -zxvf apache-flume-1.9.0-bin.tar.gz -C /opt/apps

2.启动HDFS集群

start-dfs.sh

3.写脚本模拟日志生产

while true ; do echo $RANDOM >> a.log ; sleep 0.01 ; done  //循环产生随机数写入到a.log中

4.配置flume中agent的相关配置信息

a1.sources = r1      --source的名字
a1.sinks = k1        --sink的名字
a1.channels = c1     --channel的名字   全都可以配置多个,用空格隔开

a1.sources.r1.channels = c1                   --配置source将文件传到哪个channel,一个source可以连接多个channel
a1.sources.r1.type = TAILDIR                  --配置source读取数据的方式
a1.sources.r1.filegroups = g1                 --配置要监控的一批数据
a1.sources.r1.filegroups.g1 = /logdata/a.*    --使用正则,指定监控的数据格式
a1.sources.r1.headers.g1.x = y                --配置source的header,看具体需求指定
a1.sources.r1.fileHeader = true               --配置文件的header
a1.sources.r1.fileHeaderKey = filepath        --指定k,v
a1.sources.r1.interceptors = i1               --配置拦截器的名字为i1
a1.sources.r1.interceptors.i1.type = timestamp   --配置具体的拦截器类型
a1.sources.r1.interceptors.i1.headerName = timestamp   --配置拦截器中header的name

a1.channels.c1.type = memory                  --配置channel的类型为 Memory Channel
a1.channels.c1.capacity = 1000                --配置channel中event的最大容量为 1000
a1.channels.c1.transactionCapacity = 1000     --配置事务控制中每次读取或写出的最大数据容量

a1.sinks.k1.channel = c1                      --配置sink从哪个channel获取evnet,一个sink只能连接一个channel
a1.sinks.k1.type = hdfs                       --配置数据写入到hdfs中
a1.sinks.k1.hdfs.path = hdfs://linux01:9000/flumedata/%Y-%m-%d/%H    --配置写入路径,并且指定数据命名规则
a1.sinks.k1.hdfs.filePrefix = doitedu-log-    --指定文件名前缀
a1.sinks.k1.hdfs.fileSuffix = .log            --指定文件名后缀
a1.sinks.k1.hdfs.rollSize = 268435456         --指定数据达到256M写出一次
a1.sinks.k1.hdfs.rollInterval = 120           --指定120秒写出一次
a1.sinks.k1.hdfs.rollCount = 0                --指定为0使得该参数失效
a1.sinks.k1.hdfs.batchSize = 1000             --指定每批数据写出大小
a1.sinks.k1.hdfs.fileType = CompressedStream  --指定写出的文件类型
a1.sinks.k1.hdfs.codeC = snappy               --指定写出文件的压缩方式
a1.sinks.k1.hdfs.useLocalTimeStamp = false    --不使用本机的时间戳

注意:

  • 上面许多配置都是根据实际生产情况中的日志采集情况灵活调整的,并不是所有都需要配置的
  • TAILDIR是实际生产中最常用的source方式
  • 在hdfs中flume安装目录下新建agentconf文件夹,将上述配置数据写到taildir-m-hdfs.conf中,放到agentconf
  • logdata是在hfds的 / 目录下新建的文件夹,用于存放测试数据

5.启动flume

#移动到flume安装目录下

bin/flume-ng agent -c ./conf -f ./agentconf/taildir-m-hdfs.conf -n a1 

参数解读:

  • -c : flume自带的配置文件夹
  • -f : 自己创建的agent配置文件路径
  • -n : agent的name

为了方便测试集群是否能正常启动,并且有错误时可得到错误日志信息,可添加-D参数,变为如下形式

bin/flume-ng agent -c ./conf -f ./agentconf/taildir-m-hdfs.conf -n a1 -Dflume.root.logger=DEBUG,console

6.到HDFS集群中查看,是否产生数据文件

产生了对应小时的文件夹,并且其中存在采集的数据

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值