CentOS 7 配置hadoop(六) 配置flume(伪分布)

配置Flume(数据采集)

  1.上传Flume压缩包

  

 

 

   2.解压 压缩包

    tar -xzvf apache-flume-1.6.0-bin.tar.gz

  3.进入到flume/conf 将 flume-env.sh.templ 复制为flume-env.sh

    cd apache-flume-1.6.0-bin/conf/

    cp flume-env.sh.template flume-env.sh

    进入 flume-env.sh将export JAVA_OPTS 那行的注释去掉

    

  4.进到flume目录下 创建 dir-hdfs.conf 文件 (touch dir-hdfs.conf), 文件内容是下方的代码

复制代码
#定义三大组件的名称
ag1.sources = source1
ag1.sinks = sink1
ag1.channels = channel1

# 配置source组件
ag1.sources.source1.type = spooldir
ag1.sources.source1.spoolDir = /root/data/log
ag1.sources.source1.fileSuffix=.FINISHED
ag1.sources.source1.inputCharset=utf-8
ag1.sources.source1.deserializer.maxLineLength=5120

# 配置sink组件
ag1.sinks.sink1.type = hdfs
ag1.sinks.sink1.hdfs.path =hdfs://master/access_log/%y-%m-%d/%H-%M
ag1.sinks.sink1.hdfs.filePrefix = app_log
ag1.sinks.sink1.hdfs.fileSuffix = .log
ag1.sinks.sink1.hdfs.batchSize= 100
ag1.sinks.sink1.hdfs.fileType = DataStream
ag1.sinks.sink1.hdfs.writeFormat =Text

## roll:滚动切换:控制写文件的切换规则
 ## 按文件体积(字节)来切   
ag1.sinks.sink1.hdfs.rollSize = 512000   
 ## 按event条数切
ag1.sinks.sink1.hdfs.rollCount = 1000000 
 ## 按时间间隔切换文件
ag1.sinks.sink1.hdfs.rollInterval = 60   

## 控制生成目录的规则(round回滚)
ag1.sinks.sink1.hdfs.round = true
ag1.sinks.sink1.hdfs.roundValue = 10
ag1.sinks.sink1.hdfs.roundUnit = minute
ag1.sinks.sink1.hdfs.useLocalTimeStamp = true

# channel组件配置
ag1.channels.channel1.type = memory
 ## event条数
ag1.channels.channel1.capacity = 500000  
##flume事务控制所需要的缓存容量600条event
ag1.channels.channel1.transactionCapacity = 600  

# 绑定source、channel和sink之间的连接
ag1.sources.source1.channels = channel1
ag1.sinks.sink1.channel = channel1
复制代码

  上方两个地方需要注意 :第一个是我们本地要采集的信息存放地址

                 第二个是我们信息输出的hdfs的地址   (ip的地方写上你的主机名)

              添加内容时记得把注解去掉

  5.创建 源目录log 给与777权限 并且在log目录下存放需要采集的数据 a.log b.log c.log  (创建的地址就是你的第一个修改的采集信息存放的地址)

  创建 log文件夹   cd /root/data/    mkdir log 

  

 

   给log赋予权限 chmod 777 log

  

 

   在log文件夹同级目录创建 a.txt  ,内容 hello world 

   

touch a.txt
echo hello world > a.txt
cat a.txt

  6.启动Flume 命令

    bin/flume-ng agent -c conf/ -f dir-hdfs.conf -n ag1 -Dflume.root.logger=INFO,consol

     

   这是我们在开一个窗口  

 

   在右边进入我们log文件夹的同级目录 ,把我们创建的a.txt 移动到log文件夹内。在左边的变化!!!!

      

  可在、/root/data/log 中查看他的变化,和网址上的access_log文件夹里面的变化

 

  Flume配置完成

 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
posted @ 2020-12-21 17:01  小韩呐~  阅读(103)  评论(0编辑  收藏  举报