• 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配置完成

     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
  • 相关阅读:
    Java闭包和回调
    Java通过字节分割字符串
    编译型语言和解释型语言的简单介绍
    对JavaScript事件处理程序/事件监听器的设定的简单介绍
    Linux netstat命令详解
    CentOS 7下iptables配置添加修改规则端口方法(转)
    设计模式
    设计模式
    Mysql8.0主从配置
    设计模式
  • 原文地址:https://www.cnblogs.com/zfwp123/p/14168802.html
Copyright © 2020-2023  润新知