1、channel

2、source

3、sink

4、直接读取文件Source,有哪两种方式?

5、Channel有几种方式?

6、Sink在设置存储数据时,数据较多,较少的情况下,该如何处理?

Flume是一个非常不错的日志收集系统,其设计理念非常易用,简洁。并且是一个开源项目,基于Java开发,可以进行一些自定义的功能开发。运行Flume时,机器必须安装JDK6.0以上的版本,并且,Flume目前只有Linux的启动脚本,没有Windows环境的启动脚本。

Flume主要由3个重要的组件构成:

Source:完成对日志数据的手机,分成trasition和event打入到channel之中。

Channel:主要提供一个队列的功能,对Source提供中的数据进行简单的缓存。

Sink:取出Channel中的数据,进行相应的存储文件系统,数据库,或者提交到远程服务器。

对现有程序改动最小的使用方式是使用直接读取程序原来记录的日志文件,基本可以实现无缝接入,不需要对现有程序进行任何改动。

对于直接读取文件Source,有两种方式:

ExecSource:以运行Linux命令的方式,持续的输出最新的数据,如tail -F 文件名指令,在这种方式下,取的文件名必须是指定的。

SpoolSource:是检测配置的目录下新增的文件,并将文件中的数据读取出来。

需要注意两点:

1、拷贝到spool目录下的文件不可以再打开编辑。

2、spool目录下不可包含相应的子目录。

在实际使用的过程中,可以结合log4j使用,使用log4j的时候,将log4j的文件分割机制设为1分钟一次,将文件拷贝到spool的监控目录。log4j有一个TimeRolling的插件,可以把log4j分割的文件拷贝到spool目录。基本实现了实时的监控。

Flume在传完文件之后,将会修改文件的后缀,变为.COMPLETED(后缀也可以在配置文件中灵活指定)

ExecSource, SpoolSource对比:

ExecSource可以实现对日志的实时手机,但是存在Flume不运行或者指令执行出错时,将无法收集到日志数据,无法保证日志数据的完整性。SpoolSource虽然无法实现实时的收集数据,但是可以使用以分钟的方式分割文件,趋近于实时。如果应用无法实现以分钟切割日志文件的话,可以两种收集方式结合使用。

Channel有多重方式:

有MemoryChannel,JDBC Channel,MemoryRecoverChannel, FileChannel。MemoryChannel可以实现告诉的吞吐,但是无法保证数据的完整性。MemoryRecoverChannel在官方文档的件以上已经建议使用FileChannel来替换。FileChannel保证数据的完整性与一致性。在具体配置实现的FileChannel时,建议FileChannel设置的目录和程序的日志文件保存的目录设成不同的磁盘,以便提高效率。

Sink在设置存储数据时,可以向文件系统中,数据库中,hadoop中存储数据,在日志数据较少时,可以将数据存储在文件系统中,并且设定一定的时间间隔保存数据。在日志数据较多时,可以将相应的日志数据存储到Hadoop中,便于日后进行相应的数据分析。

转载于:https://www.cnblogs.com/man-li/p/4362152.html

flume ng之组件介绍相关推荐

  1. Flume NG 简介及配置实战

    2019独角兽企业重金招聘Python工程师标准>>> Flume NG 简介及配置实战 博客分类: 分布式计算 1.Flume 的一些核心概念: 1.1 数据流模型 1.2 高可靠 ...

  2. java hbase创建_hadoop组件介绍及python 连接Hbase

    Ambari Apache Ambari是一种基于Web的工具,支持Hadoop集群的供应.管理和监控.是Apache顶级开源项目之一,由Hortonworks公司开源. Ø 官方网站地址: http ...

  3. Hadoop生态Flume(一)介绍

    一.概述 Apache Flume是一个分布式,可靠且可用的系统,用于有效地收集,聚合大量日志数据并将其从许多不同的源移动到集中式数据存储中. Apache Flume的使用不仅限于日志数据聚合.由于 ...

  4. Flume OG和Flume NG的区别

    应用场景 Flume作为Hadoop中的日志采集工具,非常的好用,但是在安装Flume的时候,查阅很多资料,发现形形色色,有的说安装Flume很简单,有的说安装Flume很复杂,需要依赖zookeep ...

  5. Flume NG 学习笔记(五)Sinks和Channel配置

    一.HDFS Sink Flume Sink是将事件写入到Hadoop分布式文件系统(HDFS)中.主要是Flume在Hadoop环境中的应用,即Flume采集数据输出到HDFS,适用大数据日志场景. ...

  6. 客快物流大数据项目(六):Docker与虚拟机的形象比喻及组件介绍

    目录 Docker与虚拟机的形象比喻及组件介绍 一.Docker与虚拟机的形象比喻

  7. 2021年大数据Hadoop(二十六):YARN三大组件介绍

    全网最详细的Hadoop文章系列,强烈建议收藏加关注! 后面更新文章都会列出历史文章目录,帮助大家回顾知识重点. 目录 本系列历史文章 前言 Yarn三大组件介绍 ResourceManager No ...

  8. 【Netty】Netty组件介绍

    Netty组件介绍 Netty有 Bootstrap/ServerBootstrap,Channel,EventLoop,ChannelFuture, ChannelHandler,ChannelPi ...

  9. Flume(NG)架构设计要点及配置实践

    Flume(NG)架构设计要点及配置实践 http://shiyanjun.cn/archives/915.html 转载于:https://blog.51cto.com/vikenxu/165732 ...

最新文章

  1. php ad 管理工具,打开AD管理工具连接到指定DC
  2. SDL2源代码分析8:视频显示总结
  3. [翻译]使用C#创建SQL Server的存储过程(Visual Studio 2005 + SQL Server 2005)
  4. [HOW TO]-centos环境搭建opengrok笔记
  5. 中国卡曼涡气流传感器行业市场供需与战略研究报告
  6. Scala初步学习(三)
  7. fire.php,php代码调试利器firephp安装与使用方法分析
  8. Qt之标准对话框(文件对话框)
  9. snmp trap 如何在浏览器中_SNMP TRAP功能
  10. java房屋租赁系统-房东租客系统PHP小程序
  11. python自我介绍_面试技巧:一分钟自我介绍怎么说才精彩
  12. [编程入门]猴子吃桃的问题(JAVA解法)
  13. (七)fastai 2018 lesson8 目标检测 ~ lesson9 目标检测
  14. 《领导沟通艺术与真实影响力》感想二
  15. android fragmentpageradapter切换不更新,android – FragmentPagerAdapter不会在方向更改时重新创建片段吗?...
  16. 用python自带的tkinter做游戏(一)—— 贪吃蛇 篇
  17. 大成182672 浅谈网络推广
  18. 【数学建模】-多元线性回归分析
  19. 98. 我说说你对Java GC机制的理解?
  20. 又是一年高考季,转眼间已经过去12年了

热门文章

  1. 中国大学最顶尖的学科名单(人民日报整理版)
  2. mysql中事务的启动方式
  3. javascript写字技巧_【iGeek手册】如何书写更加简洁的javascript代码?
  4. mongodb 默认端口号_快2020年了,该如何面对BATJM对MongoDB灵魂式的拷问呢?
  5. linux c语言文件拷贝_linux - 远程拷贝文件之scp
  6. Android动态加载技术
  7. shell day01 : Shell概述 编写及执行脚本 、 Shell变量
  8. 高性能MySQL(第3版)
  9. network setup service启动后自动停止_一个简单的测试环境下的自动化部署方案
  10. double类型怎么取余_数据类型和运算符