第 1 章 概述

1.1 Flume 定义

Flume 是 Cloudera 提供的一个高可用的,高可靠的,分布式的海量日志采集、
聚合和传 输的系统。Flume 基于流式架构,灵活简单。

1.2 Flume 组成架构

Flume 组成架构如图 1-1,图 1-2 所示:

图 1-1 Flume 组成架构

图 1-2 Flume 组成架构详解 
下面我们来详细介绍一下 Flume 架构中的组件。 

1.2.1 Agent

Agent 是一个 JVM 进程,它以事件的形式将数据从源头送至目的,是 Flume 数据传输 的基本单元。 Agent 主要有 3 个部分组成,Source、Channel、Sink。

1.2.2 Source

Source 是负责接收数据到 Flume Agent 的组件。Source 组件可以处理各种类型、各种格 式的日志数据,包括 avro、thrift、exec、jms、spooling directory、netcat、sequence generator、 syslog、http、legacy。

1.2.3 Channel

Channel 是位于 Source 和 Sink 之间的缓冲区。因此,Channel 允许 Source 和 Sink 运作 在不同的速率上。Channel 是线程安全的,可以同时处理几个 Source 的写入操作和几个 Sink 的读取操作。
Flume 自带两种 Channel:Memory Channel 和 File Channel。
Memory Channel 是内存中的队列。Memory Channel 在不需要关心数据丢失的情景下适 用。如果需要关心数据丢失,那么 Memory Channel 就不应该使用,因为程序死亡、机器宕 机或者重启都会导致数据丢失。
File Channel 将所有事件写到磁盘。因此在程序关闭或机器宕机的情况下不会丢失数据。

1.2.4 Sink

Sink 不断地轮询 Channel 中的事件且批量地移除它们,并将这些事件批量写入到存储或
索引系统、或者被发送到另一个 Flume Agent。
  Sink 是完全事务性的。在从 Channel 批量删除数据之前,每个 Sink 用 Channel 启动一
个事务。批量事件一旦成功写出到存储系统或下一个 Flume Agent,Sink 就利用 Channel 提
交事务。事务一旦被提交,该 Channel 从自己的内部缓冲区删除事件。
Sink 组件目的地包括 hdfs、logger、avro、thrift、ipc、file、null、HBase、solr、自定义。

1.2.5 Event

传输单元,Flume 数据传输的基本单元,以事件的形式将数据从源头送至目的地。

1.3 Flume 拓扑结构

Flume 的拓扑结构如图 1-3、1-4、1-5 和 1-6 所示:

图 1-4 单 source,多 channel、sink

图 1-5 Flume 负载均衡

图 1-6 Flume Agent 聚合

1.4 Flume Agent 内部原理

第 2 章 部署

2.1 Flume 安装地址

1) Flume 官网地址
http://flume.apache.org/
2)文档查看地址
http://flume.apache.org/FlumeUserGuide.html
3)下载地址
http://archive.apache.org/dist/flume/

2.2 安装部署

1)将 apache-flume-1.7.0-bin.tar.gz 上传到 linux 的/opt/software 目录下
2)解压 apache-flume-1.7.0-bin.tar.gz 到/opt/module/目录下
[atguigu@hadoop102 software]$ tar -zxf apache-flume-1.7.0-bin.tar.gz -C /opt/module/
3)修改 apache-flume-1.7.0-bin 的名称为 flume
[atguigu@hadoop102 module]$ mv apache-flume-1.7.0-bin flume

 
4) 将 flume/conf 下 的 flume-env.sh.template 文 件 修 改 为 flume-env.sh , 并 配 置
flume-env.sh 文件
[atguigu@hadoop102 conf]$ mv flume-env.sh.template flume-env.sh
[atguigu@hadoop102 conf]$ vi flume-env.sh
export JAVA_HOME=/opt/module/jdk1.8.0_144

转载于:https://www.cnblogs.com/LXL616/p/10966767.html

Flume-概述-安装相关推荐

  1. 大数据技术之Flume(概述,安装,案例等)

    第1章 概述 1.1 Flume定义 Flume是Cloudera提供的一个高可用的,高可靠的,分布式的海量日志采集.聚合和传输的系统.Flume基于流式架构,灵活简单. 1.2 Flume的优点 可 ...

  2. 日志采集框架Flume以及Flume的安装部署(一个分布式、可靠、和高可用的海量日志采集、聚合和传输的系统)...

    Flume支持众多的source和sink类型,详细手册可参考官方文档,更多source和sink组件 http://flume.apache.org/FlumeUserGuide.html Flum ...

  3. Flume概述和简单实例

    Flume概述 Flume是一个分布式.可靠.和高可用的海量日志采集.聚合和传输的系统.支持在日志系统中定制各类数据发送方,用于收集数据;同时,Flume提供对数据进行简单处理,并写到各种数据接受方( ...

  4. (一)Flume概述及快速入门

    目录 一.Flume概述 1. Flume定义 2. Flume基础架构 2.1 Agent 2.2 Source 2.3 Sink 2.4 Channel 2.5 Event 二.Flume快速入门 ...

  5. 大数据技术之Flume(一)Flume概述、Flume快速入门

    文章目录 1 Flume 概述 1.1 Flume 定义 1.2 Flume 基础架构 1.2.1 Agent 1.2.2 Source 1.2.3 Sink 1.2.4 Channel 1.2.5 ...

  6. Flume的安装与配置

    Flume的安装与配置 一.       资源下载 资源地址:http://flume.apache.org/download.html 程序地址:http://apache.fayea.com/fl ...

  7. flume的安装和部署

    2019独角兽企业重金招聘Python工程师标准>>> 下载安装包并解压 cd /usr/localwget http://archive.cloudera.com/cdh5/cdh ...

  8. Linux环境下Flume的安装

    1.在官网http://flume.apache.org/download.html下载flume的压缩包 2.解压到指定位置并重命名 tar -zxvf apache-flume-1.9.0-bin ...

  9. MySQL基础知识-MySQL概述安装,单表增删改查,函数,约束,多表查询,事物

    MySQL基础知识-MySQL概述安装,单表增删改查,函数,约束,多表查询,事物 前言 1.MySQL概述 1.1数据库相关概念 1.2MySQL数据库 1.2.1版本 1.2.2下载 1.2.3安装 ...

  10. 大数据之Flume:Flume概述

    Flume概述 1.1 Flume定义 Flume是Cloudera提供的一个高可用的,高可靠的,分布式的海量日志采集.聚合和传输的系统.Flume基于流式架构,灵活简单. 1.2 Flume基础架构 ...

最新文章

  1. HBase scan 时 异常 ScannerTimeoutException 解决
  2. Nginx 搭建图片服务器
  3. [云炬python3玩转机器学习] 5-9 scikit-learn中的回归问题
  4. linux编程:getenv,putenv,setenv
  5. RocketMQ的Producer详解之顺序消息(原理)
  6. error LNK2001: unresolved external symbol public: __thiscall CNaDialog::CNaDialog(class CWnd *)
  7. 07 行锁功过:怎么减少行锁对性能的影响? (笔记)
  8. Eclipse:引用一个项目作为库(图文教程)
  9. 学完java后学python_大火的python开发学好后能找到工作吗
  10. TortoiseSVN 命令 (命令行执行工具)
  11. 百度二年级手工机器人_使用盈首AI炒股机器人,能获得超高超额收益率
  12. 指纹和人脸识别 AI 总结
  13. C#实现简单的网页爬虫
  14. 苹果 WWDC22 亮点一文汇总解读
  15. C语言 实验六 函数
  16. python爬虫框架论文开题报告范文_论文开题报告框架
  17. filco的pin码_filco蓝牙键盘配对流程,filco 忍者二代 蓝牙怎么
  18. html p 会自动换行,css如何设置p标签不换行?
  19. Git-储藏(Stashing)
  20. ffmpeg音频合并生成新的音频文件

热门文章

  1. Hdu - 2647 - Reward
  2. 【PyQt5】PyQt5 安装 以及使用 designer 开发 python GUI 界面
  3. JZ32变形~剑指 Offer 32 - II. 从上到下打印二叉树 II
  4. 不写代码不用Excel,如何制作高大上的财务分析?
  5. matplotlib图表显示中文三种办法
  6. leetcode hot 1-2
  7. c语言220程序,电赛必备220个C语言实例源码分享
  8. linux文件恢复dbf,linux平台下数据文件被误删后,如何及时得知并进行恢复-dbf文件怎么打开...
  9. python中定义一个类、实例化时传入的参数如何传递_用实例分析Python中method的参数传递过程...
  10. android开发标签栏应该设置多少,Android开发笔记(十九)底部标签栏TabBar