Flume是什么

Flume是什么,第1张

Flume是什么 Flume是什么

Flume是Cloudera提供的一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统。

其主要作用是实时读取本地磁盘的数据,将其写入HDFS。

1、基础架构

  • Agent:

    Agent是一个JVM进程,它以事件的形式将数据从源头送至目的地

    Agent主要有3个部分组成,Source、Channel、Sink

  • Source:

    负责接收数据到Flume Agent的组件。

  • Sink:

    Sink不断地轮询Channel中的事件且批量地移除它们,并将这些事件批量写入到存储或索引系统、或者被发送到另一个Flume Agent。

  • Channel:

    Channel是位于Source和Sink之间的缓冲区。Channel允许Source和Sink运作在不同的速率上。Channel是线程安全的,可以同时处理几个Source的写入 *** 作和几个Sink的读取 *** 作。

    分为Memory Channel和File Channel。

    Memory Channel是内存中的队列。File Channel将所有事件写到磁盘。

  • Event:

    Flume数据传输的基本单元,以Event的形式将数据从源头送至目的地。Event由Header和Body两部分组成,Header用来存放该event的一些属性,为K-V结构,Body用来存放该条数据,形式为字节数组。

2、Flume安装
  1. 解压安装包至指定路径并修改目录名

    tar -zxvf /opt/software/apache-flume-1.9.0-bin.tar.gz -C /opt/module/
    mv /opt/module/apache-flume-1.9.0-bin /opt/module/flume-1.9.0
    
  2. 将lib目录下的guava包删除以兼容Hadoop 3.1.3

    rm /opt/module/flume/lib/guava-11.0.2.jar
    
  3. 修改conf下的log4j.properties确定日志打印的位置

    #console表示同时将日志输出到控制台
    flume.root.logger=INFO,LOGFILE,console
    #固定日志输出的位置
    flume.log.dir=/opt/module/flume/logs
    #日志文件的名称
    flume.log.file=flume.log
    
  4. 环境变量配置并source。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5681107.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存