Flume入门

Flume简介

    Flume is a distributed, reliable, and available service for efficiently collecting, aggregating, and moving large amounts of log data. It has a simple and flexible architecture based on streaming data flows. It is robust and fault tolerant with tunable reliability mechanisms and many failover and recovery mechanisms. It uses a simple extensible data model that allows for online analytic application.

    简单说,Flume就是一个分布式采集日志文件的服务

个人理解

    每一个技术(工具)诞生都是为了解决一个痛点。Flume的诞生是为了实现数据的自动化导入。而且Flume拥有分布式,可靠,对HDFS良好支持的特性,所以Flume得到广泛的使用。Flume的作用与地铁类似,可以类比地铁,来了解Flume各核心组件的作用。

Flume核心组件

  1. Sourse 数据源
  2. Channel 频道(管道)
  3. Sink 数据输出源

安装使用

  • 1.准备 java 运行环境
  • 2.下载安装 Flume
    进入Flume官网链接下载
  • 3.解压
tar -zxvf apache-flume-1.9.0-bin.tar.gz flume
  • 4.编写配置文件
#example.conf(flume目录下存在)

## 定义Agent的3个组件变量
a1.sources = r1
a1.sinks = k1
a1.channels = c1

## 设置Source
a1.sources.r1.type = netcat
a1.sources.r1.bind = localhost
a1.sources.r1.port = 44444

## 设置Sink
a1.sinks.k1.type = logger

## 设置Channel
a1.channels.c1.type = memory
a1.channels.c1.capacity = 1000
a1.channels.c1.transactionCapacity = 100

## 连接3个组件
a1.sources.r1.channels = c1
a1.sinks.k1.channel = c1
  • 5.启动 Agent 采集数据
/opt/module/flume/bin/flume-ng agent --conf conf --conf-file example.conf --name a1
  • 6.对指定端口发送数据
#连接该端口,并发送数据
telnet localhost 44444

如果能出现这些Event的日志打印,就表示这个入门小Demo测试成功啦

Flume控制台打印Event日志


Flume 组件间关系

比喻 Flume 的数据抽取就像是地铁

  • 1.总体上,Flume是在管道中传输数据。而地铁在管道中运输人
  • 2.Flume-Source 作为数据源,也就是地铁的入站口,有人(数据)输入;
  • 3.Flume-Channel 作为管道,有运输,缓冲的作用。地铁的的隧道也有缓冲的功能——如果前面的地铁还没下完人,下一班地铁就要隧道中临时停车,直到上班地铁的人下车完毕;
  • 4.Flume-Sink 作为输出源,在地铁上也有下车站点;
Flume 地铁
Source 入站口
Channel 隧道
Sink 出站口

如果喜欢这篇文章,帮忙点个赞哦,谢谢!
👇👇👇

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 1Flume概述 1.1 定义 Flume是Cloudera提供的一个高可用的,高可靠的,分布式的海量日志采集、聚...
    djm猿阅读 3,811评论 0 4
  • 概要 Apache Flume 是一个分布式,可靠且可用的系统,用于有效地从许多不同的源收集、聚合和移动大量日志数...
    Kooola大数据阅读 9,994评论 0 6
  • flume简单介绍 官网的一句话:Flume is a distributed, reliable, and av...
    义焃阅读 4,312评论 0 2
  • 一、安装 1、必备条件 因为要把日志上传到hdfs上,所以需要以下hadoop依赖包: commons-confi...
    Bottle丶Fish阅读 2,801评论 0 1
  • flume的诞生背景 现在大数据、数据分析在企业中的应用越来越广泛,大数据的一个主要应用场景是对一些日志进行分析,...
    南山军少阅读 4,174评论 0 0

友情链接更多精彩内容