• Flume(4)实用环境搭建:source(spooldir)+channel(file)+sink(hdfs)方式


    一、概述:

    在实际的生产环境中,一般都会遇到将web服务器比如tomcat、Apache等中产生的日志倒入到HDFS中供分析使用的需求。这里的配置方式就是实现上述需求。

    二、配置文件:

    #agent1 name
    agent1.sources=source1
    agent1.sinks=sink1
    agent1.channels=channel1
    
    
    #Spooling Directory
    #set source1
    agent1.sources.source1.type=spooldir
    agent1.sources.source1.spoolDir=/opt/flumetest/data
    
    agent1.sources.source1.channels=channel1
    agent1.sources.source1.fileHeader = false
    agent1.sources.source1.interceptors = i1
    agent1.sources.source1.interceptors.i1.type = timestamp
    
    #set sink1
    agent1.sinks.sink1.type=hdfs
    agent1.sinks.sink1.hdfs.path=/home/hdfs/flume/logs
    agent1.sinks.sink1.hdfs.fileType=DataStream
    agent1.sinks.sink1.hdfs.writeFormat=TEXT
    agent1.sinks.sink1.hdfs.rollInterval=1
    agent1.sinks.sink1.channel=channel1
    agent1.sinks.sink1.hdfs.filePrefix=%Y-%m-%d
    
    #set channel1
    agent1.channels.channel1.type=file
    agent1.channels.channel1.checkpointDir=/opt/flumetest/cp/point
    agent1.channels.channel1.dataDirs=/opt/flumetest/cp

    三、执行下述命令:

    执行之前先确保上面配置文件中定义的文件夹都已经存在。

    bin/flume-ng agent -n agent1 -c conf -f study/logs2hdfs.conf -Dflume.root.logger=DEBUG,console

    source文件夹中的日志列表如下:

    image

    四、查看hdfs中的数据:

    image

    可以看到里面的数据文件都很小,这跟配置有关系,因为sink的配置里rollInterval配置的时间间隔太小导致的。可以根据需求在进行调整。

  • 相关阅读:
    编译Linux 2.6内核
    C语言学习参考(基础&进阶)
    用户体验为什么如此重要
    北京讲座:软件企业常见问题和系统性解决方法(7月5日)
    《JavaScript权威指南(第6版)》诚征广大读者参与初译稿审校活动!
    有关正则表达式的研究
    关于分页的研究
    四舍五入等一些不常用代码整理
    最简单CSS实现Table细线表格
    vs2005 SP1补丁安装慢
  • 原文地址:https://www.cnblogs.com/tq03/p/5154898.html
Copyright © 2020-2023  润新知