Flume架构介绍和安装

写在前面
在学习一门新的技术之前,我们得知道了解这个东西有什么用?我们可以使用它来做些什么呢?简单来说,flume是大数据日志分析中不能缺少的一个组件,既可以使用在流处理中,也可以使用在数据的批处理中。
1.流处理:

2.离线批处理:

分析:不管你是数据的实时流处理,还是数据的离线批处理,都是会使用flume这个日志收集框架来做日志的收集。因此,学习这个这个组件是很重要的。这个组件的使用也是很简单的。

简单介绍一下Flume
Flume是一种分布式的、可靠的、可用的服务,用于高效地收集、聚合和移动大量日志数据。它具有基于流数据流的简单灵活的体系结构。它具有可调的可靠性机制和许多故障转移和恢复机制,具有健壮性和容错性。它使用一个简单的可扩展的数据模型,允许联机分析应用程序。
一句话总结:Flume就是用来做日志收集的这么一个工具

Flume架构介绍

1) Source 收集 (从webserver读取数据到Channel中去)

2) Channel 聚集 (减少直接与磁盘的对接次数(生产环境中一般使用类型为Memory),当channel满了,再写到sink中去。同时,也起到了容错的作用,因为只有当sink接收到了数据,channel才会把原有的数据丢弃)

3) Sink 输出(从channel中读取数据,写到目的地,这里的目的地可以是HDFS、其余的一些文件系统或者作为下一个agent的source等)

顺便说一下
Event的概念
在整个数据的收集聚集传送的过程中,流动的是event,即事务保证是在event级别进行的。
那么什么是event呢?—–event将传输的数据进行封装,是flume传输数据的基本单位,如果是文本文件,通常是一行记录,event也是事务的基本单位。
event从source,流向channel,再到sink,本身为一个字节数组,并可携带headers(头信息)信息。event代表着一个数据的最小完整单元,从外部数据源来,向外部的目的地去。
为了方便大家理解,给出一张event的数据流向图:

上面这段引用来自大神“安静的技术控”的文章,因为我觉得大神已经解释得很到位了。很好理解,在这里,感谢大神啦

工欲善其事,必先利其器

因为有的小伙伴可能还没有安装flume组件,接下来我们就开始介绍一下flume的安装。

我这里提供了flume的压缩包百度云链接

链接:https://pan.baidu.com/s/1Cso3Bbo1JnoRdNboJuvpfQ
提取码:hod9

安装方式及其简单,解压及安装

安装。

1. 通过Xftp把.gz包上传到虚拟机

  1. tar zxvf apache-flume-1.8.0-bin.tar.gz

重命名:mv apache-flume-1.6.0-bin flume

打开 vi /etc/profile

  1. 配置flume环境变量量

添加#Flume

export FLUME_HOME=/usr/local/soft/flume

export PATH=.:$JAVA_HOME/bin:$FLUME_HOME/bin:$PATH

保存退出

运⾏source /etc/profile

运⾏ flume-ng version 输出版本信息表示安装正确

安装完成,是不是及其简单。

博客参考 https://www.cnblogs.com/liuge36/p/9883030.html

大数据之路Week08_day02 (Flume架构介绍和安装)的更多相关文章

  1. Flume系列一之架构介绍和安装

    Flume架构介绍和安装 写在前面 在学习一门新的技术之前,我们得知道了解这个东西有什么用?我们可以使用它来做些什么呢?简单来说,flume是大数据日志分析中不能缺少的一个组件,既可以使用在流处理中, ...

  2. 看大数据时代下的IT架构(1)业界消息队列对比

    一.MQ(Message Queue) 即 消息队列,一般用于应用系统解耦.消息异步分发,能够提高系统吞吐量.MQ的产品有很多,有开源的,也有闭源,比如ZeroMQ.RabbitMQ. ActiveM ...

  3. 柯南君:看大数据时代下的IT架构(5)消息队列之RabbitMQ--案例(Work Queues起航)

    二.Work Queues(using the Java Client) 走起   在第上一个教程中我们写程序从一个命名队列发送和接收消息.在这一次我们将创建一个工作队列,将用于分发耗时的任务在多个工 ...

  4. 柯南君:看大数据时代下的IT架构(4)消息队列之RabbitMQ--案例(Helloword起航)

    柯南君:看大数据时代下的IT架构(4)消息队列之RabbitMQ--案例(Helloword起航) 二.起航 本章节,柯南君将从几个层面,用官网例子讲解一下RabbitMQ的实操经典程序案例,让大家重 ...

  5. 柯南君:看大数据时代下的IT架构(3)消息队列之RabbitMQ-安装、配置与监控

    柯南君:看大数据时代下的IT架构(3)消息队列之RabbitMQ-安装.配置与监控 一.安装 1.安装Erlang 1)系统编译环境(这里采用linux/unix 环境) ① 安装环境 虚拟机:VMw ...

  6. C#码农的大数据之路 - 使用C#编写MR作业

    系列目录 写在前面 从Hadoop出现至今,大数据几乎就是Java平台专属一般.虽然Hadoop或Spark也提供了接口可以与其他语言一起使用,但作为基于JVM运行的框架,Java系语言有着天生优势. ...

  7. CentOS6安装各种大数据软件 第十章:Spark集群安装和部署

    相关文章链接 CentOS6安装各种大数据软件 第一章:各个软件版本介绍 CentOS6安装各种大数据软件 第二章:Linux各个软件启动命令 CentOS6安装各种大数据软件 第三章:Linux基础 ...

  8. Kafka系列一之架构介绍和安装

    Kafka架构介绍和安装 写在前面 还是那句话,当你学习一个新的东西之前,你总得知道这个东西是什么?这个东西可以用来做什么?然后你才会去学习它,使用它.简单来说,kafka既是一个消息队列,如今,它也 ...

  9. 分布式大数据多维分析(OLAP)引擎Apache Kylin安装配置及使用示例【转】

    Kylin 麒麟官网:http://kylin.apache.org/cn/download/ 关键字:olap.Kylin Apache Kylin是一个开源的分布式分析引擎,提供Hadoop之上的 ...

  10. 决战大数据之三-Apache ZooKeeper Standalone及复制模式安装及测试

    决战大数据之三-Apache ZooKeeper Standalone及复制模式安装及测试 [TOC] Apache ZooKeeper 单机模式安装 创建hadoop用户&赋予sudo权限, ...

随机推荐

  1. COS数据工作流+云函数最佳实践 - 文件哈希值计算

    01 文件哈希值是什么? 文件哈希值,即文件内容的HASH值.是通过对文件内容进行加密运算得到的一组二进制值,主要用途是用于文件校验或签名.正是因为这样的特点,它常常用来判断两个文件是否相同. COS ...

  2. zstd - 一种由Facebook使用的快速数据压缩算法

    Zstandard (也被称为zstd )是一款免费的开源,快速实时数据压缩程序,具有更好的压缩比,由Facebook开发. 它是用C语言编写的无损压缩算法 (在Java中有一个重新实现) - 因此它 ...

  3. 记住我 token保存到数据库

    这里使用jpa+mysql <dependency> <groupId>org.springframework.boot</groupId> <artifac ...

  4. 深入理解 Servlet:从基础概念到高级特性与实战应用

    一.Servlet简介与工作原理 Servlet是Java Web开发中的重要组件,它运行在服务器端,用于处理客户端的请求并返回响应.其工作原理涉及多个组件和步骤,从客户端发起请求到服务器端的处理和响 ...

  5. 龙哥量化:通达信DRAWICON的图标副图显示效果(鸡肋,可以不看)

    新建一个副图指标,复制粘贴源码,先看一下效果图 DRAWTEXT_FIX(1,0.01,0.01,0,'通达信中DRAWICON的图标,方便大家折腾指标'),COLORMAGENTA; A:=CURR ...

  6. Qt/C++音视频开发49-多级连保存和推流设计(同时保存到多个文件/推流到多个平台)

    一.前言 近期遇到个用户需要多级联的保存和推流,在ffmpegsave多线程保存类中实现这个功能,越简单越好,就是在推流的同时,能够开启自动转储功能,一边推流的同时一边录像保存到本地视频文件.最初设想 ...

  7. Qt数据库应用15-通用数据库同步

    一.前言 数据库同步的主要功能是将本地的数据库记录同步到远程的数据库,其中数据库类型不限,比如本地是sqlite数据库,远程可以是mysql数据库,本地是mysql数据库,远程也可以是postgres ...

  8. WxPython跨平台开发框架之复杂界面内容的分拆和重组处理

    复杂界面内容的分拆和重组处理是现代软件开发中常见的做法,尤其在开发大型应用程序时,可以大幅提升开发效率.可维护性和用户体验.通过将复杂的界面内容分拆成更小的模块,每个模块都专注于单一功能或组件,代码更 ...

  9. java通过apache poi框架读取2007版Excel文件

    java系读写excel文件既可以用jxl库,也可以用POI库,但是,jxl库只支持低版本的excel2003,不支持更高版本,无法直接输出*.xlsx文件,只能输出*.xls文件,另外,更新也不频繁 ...

  10. kubernetes系列(五) - kubernetes网络原理

    目录 前言 1. kubernetes网络模型 2. kubernetes的组件之间如何通讯 2.1 同一个pod内的多容器之间 2.2 各个pod直接的通讯 2.2.1 同一个节点上的pod互相通讯 ...