首页 > 其他分享 >大数据技术之 Flume概述、安装(1)

大数据技术之 Flume概述、安装(1)

时间:2024-08-24 13:55:24浏览次数:12  
标签:Flume flume Agent Source 概述 Sink 安装 Channel

目录

Flume 概述

 Flume 定义

为什么选用 Flume

 Flume 基础架构

 Agent

Source

Sink

 Channel

 Event

Flume 安装

 Flume 安装部署

 安装地址

 安装部署


Flume 概述

 Flume 定义

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

为什么选用 Flume

  • Python爬虫数据
  • Java后台日志数据
  • 服务器本地磁盘文件
  • HDFS 文件夹
  • Kafka 网络端口数据

Flume 最主要的作用就是实时读取服务器本地磁盘的数据,并将数据写入到 HDFS。

 Flume 基础架构

Flume 的组成架构如下图所示。

 Agent

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

Source

Source 是负责接收数据到 Flume Agent 的组件。Source 组件可以处理各种类型、各种格式的日志数据,包括但不限于:

  • Avro
  • Thrift
  • Exec
  • JMS
  • Spooling Directory
  • Netcat
  • Taildir
  • Sequence Generator
  • Syslog
  • HTTP
  • Legacy

Sink

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

  • HDFS
  • Logger
  • Avro
  • Thrift
  • IPC
  • File
  • HBase
  • Solr
  • 自定义

 Channel

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

Flume 自带两种 Channel:

  • Memory Channel:内存中的队列。Memory Channel 在不需要关心数据丢失的情景下适用。如果需要关心数据丢失,那么 Memory Channel 就不应该使用,因为程序死亡、机器宕机或者重启都会导致数据丢失。
  • File Channel:将所有事件写到磁盘。因此在程序关闭或机器宕机的情况下不会丢失数据。

 Event

传输单元,Flume 数据传输的基本单元,以 Event 的形式将数据从源头送至目的地。Event 由 Header 和 Body 两部分组成:

  • Header:用来存放该 event 的一些属性,为 K-V 结构。
  • Body:用来存放该条数据,形式为字节数组。

Flume 安装

 Flume 安装部署

 安装地址
 安装部署
  1. 上传安装包到 Linux

     

    apache-flume-1.9.0-bin.tar.gz 上传到 Linux 的 /opt/software 目录下。

  2. 解压安装包

    [lzl@hadoop12 software]$ tar -zxf /opt/software/apache-flume-1.9.0-bin.tar.gz -C /opt/module/
  3. 重命名安装目录

    [lzl@hadoop12 module]$ mv /opt/module/apache-flume-1.9.0-bin /opt/module/flume
  4. 删除不兼容的 jar 包

     

    为了兼容 Hadoop 3.1.3,需要删除 flume 目录下 lib 文件夹中的 guava-11.0.2.jar 文件。

    [lzl@hadoop12 lib]$ rm /opt/module/flume/lib/guava-11.0.2.jar

标签:Flume,flume,Agent,Source,概述,Sink,安装,Channel
From: https://blog.csdn.net/qq_45115959/article/details/141498250

相关文章

  • 大数据技术之Flume应用案例(2)
    目录 监控端口数据官方案例步骤1:准备环境步骤2:配置FlumeAgent步骤3:启动FlumeAgent步骤4:发送数据到Flume步骤5:查看HDFS中的数据注意事项示例说明实时监控单个追加文件案例需求分析实现步骤(1)确保环境变量配置正确(2)创建flume-file-hdfs.conf......
  • 【Oracle19c】静默安装Oracle19c软件与数据库
    1、静默安装Oracle19c软件1.1、适用场景如果无windows环境用于图形安装oracle软件,需要使用静默方式安装数据库,脚本如下:1.2、静默安装Oracle$su-oracle$cd$ORACLE_HOME$./runInstaller-ignorePrereq-waitforcompletion-silent\oracle.install.option=INSTA......
  • linux安装mysql5.7
    一安装前准备1、检查是否已经安装过mysql,执行命令rpm-qa|grepmysql如果已存在,则执行删除命令后边为Mysql目录rpm-e--nodepsmysql-xxxx 2、检查mysql用户组和用户是否存在,如果没有,则创建cat/etc/group|grepmysqlcat/etc/passwd|grepmysqlgroupaddmysql......
  • Autodesk inventor 2025图文安装教程及下载
    AutodeskInventor2025引入了多个新功能和增强功能,以改善设计体验。以下是一些关键更新:增强的用户界面:用户界面已简化,以提高可访问性和易用性,支持自定义功能区和工具栏。改进的性能:渲染和处理速度的优化提升了整体性能,特别是针对大型组件。高级协作工具:新增更好的协作功能,包......
  • Visio 2021安装教程及相关问题和下载
    MicrosoftVisio2021是一款功能强大的图表和流程图设计工具,提供直观的方式来创建和编辑各种图表类型,如流程图、组织结构图、网络图和平面图等。作为Visio系列的最新版本,Visio2021引入了更加现代化的用户界面,使图表的定制和管理更加简便。此外,Visio2021还增加了多项智......
  • 机器视觉学习笔记和过程记录:下载安装OpenCv
    下载安装opencv1、本机已经安装了anaconda,打开对应的环境下的命令行窗口,输入python后回车,会显示python版本,本机是3.8.3:2、打开链接:Linksforopencv-python ,在网页中查找与python版本和操作系统对应的opencv版本: 本机python是3.8,系统是64位win10,所以选择opencv_python-3......
  • 解决方案 | VS2022 社区版 获取工具和功能找不到visual stdio安装程序的终极解决办法
      首先这是一种解决方法:https://blog.csdn.net/Wysnbb/article/details/124588395 其次,如果上面方法解决不了,那么可以重新下载vs社区版。(不要误会,并不是下载10G+的东西)https://visualstudio.microsoft.com/zh-hans/vs/community/  下载得到:  安装VisualStud......
  • Python小白自用学习日记 | print和input函数(参考“Python_子木”的教程)&pandas的下载
            写论文要分析气象数据,下载后发现是txt格式,看来要学学python做数据处理。真是“书到用时方恨少”。我看的是B站“Python_子木”的教程。电脑里以前装过了VScode,就暂时不下载pycharm了。        仅作为一个超级小白的养成系学习日记吧。大佬们请不用点......
  • centos7安装Kafka单节点环境部署三-安装Logstash
    1、下载Logstashwgethttps://artifacts.elastic.co/downloads/logstash/logstash-7.17.7-linux-x86_64.tar.gz2、解压到/usr/local/mkdir-p/usr/local/logstash7.17tar-zxflogstash-7.17.7-linux-x86_64.tar.gz-C/usr/local/logstash7.17/--strip-components=1#--......
  • 如何安装 IntelliJ IDEA 最新版本
    IntelliJIDEA是由JetBrains开发的一款强大的集成开发环境(IDE),广泛用于Java和其他多种编程语言的开发。安装最新版本的IntelliJIDEA是开发者搭建开发环境的重要一步。本文将提供详细的安装步骤,帮助您快速上手。1.系统要求在安装IntelliJIDEA之前,请确保您的计算机......