Flume知识点:

Event 是一行一行的数据

1.flume是分布式的日志收集系统,把收集来的数据传送到目的地去。

2.flume里面有个核心概念,叫做agent。agent是一个java进程,运行在日志收集节点。

3.agent里面包含3个核心组件:source、channel、sink。

3.1 source组件是专用于收集日志的,可以处理各种类型各种格式的日志数据,包括avro、thrift、exec、jms、spooling directory、netcat、sequence generator、syslog、http、legacy、自定义。

source组件把数据收集来以后,临时存放在channel中。

3.2 channel组件是在agent中专用于临时存储数据的,可以存放在memory、jdbc、file、自定义。

channel中的数据只有在sink发送成功之后才会被删除。

3.3 sink组件是用于把数据发送到目的地的组件,目的地包括hdfs、logger、avro、thrift、ipc、file、null、hbase、solr、自定义。

4.在整个数据传输过程中,流动的是event。事务保证是在event级别。

5.flume可以支持多级flume的agent,支持扇入(fan-in)、扇出(fan-out)。

扇入指的是:source 可以接收多个输入

扇出指的是:sink可以输出多个目的地


Flume安装:

1.分别解压这两个文件在节点里:



2.把src内容 复制到bin下:

cp -ri apache-flume-1.4.0-src/* apache-flume-1.4.0-bin/

3.src没用可以删掉了:

rm -rf apache-flume-1.4.0-src

4.重命名apache-flume-1.4.0-bin 为flume:

mv apache-flume-1.4.0-bin/ flume

注意:flume安装的 前提是你已经安装了hadoop ,因为它要用到hadoop的jar

5 . 书写配置文件example

agent1表示代理名称:

agent1.sources=source1

agent1.sinks=sink1

agent1.channels=channel1

Spooling Directory是监控指定文件夹中新文件的变化,一旦新文件出现,就解析该文件内容,然后写入到channle。写入完成后,标记该文件已完成或者删除该文件。

配置source1

agent1.sources.source1.type=spooldir

agent1.sources.source1.spoolDir=/root/hmbbs

agent1.sources.source1.channels=channel1

agent1.sources.source1.fileHeader = false

agent1.sources.source1.interceptors = i1

agent1.sources.source1.interceptors.i1.type = timestamp

配置sink1

agent1.sinks.sink1.type=hdfs

agent1.sinks.sink1.hdfs.path=hdfs://hadoop0:9000/hmbbs

agent1.sinks.sink1.hdfs.fileType=DataStream

agent1.sinks.sink1.hdfs.writeFormat=TEXT

agent1.sinks.sink1.hdfs.rollInterval=1 //指定时间文件被关闭

agent1.sinks.sink1.channel=channel1

agent1.sinks.sink1.hdfs.filePrefix=%Y-%m-%d //生成文件的前缀

配置channel1

agent1.channels.channel1.type=file

//备份目录

agent1.channels.channel1.checkpointDir=/root/hmbbs_tmp/123

agent1.channels.channel1.dataDirs=/root/hmbbs_tmp/

把该文件写入flume 的conf文件夹下,并命名为example

6.在root目录下创建文件夹hmbbs

[root@hadoop /]# cd /root

[root@hadoop ~]# ls

anaconda-ks.cfg Documents install.log Music Public Videos

Desktop Downloads install.log.syslog Pictures Templates

[root@hadoop ~]# mkdir hmbbs

7.在hadoop下创建文件夹

hadoop fs -mkdir /hmbbs

8.执行flume

进入flume执行命令

bin/flume-ng agent -n agent1 -c conf -f conf/example -Dflume.root.logger=DEBUG,console

9.创建

[root@hadoop ~]# vi hello

[root@hadoop ~]# cp hello hmbbs

在hdfs里会看到文件传输了进去

10 .

[root@hadoop ~]# cd hmbbs

[root@hadoop hmbbs]# ls

hello.COMPLETED

红色部分表示任务完成,已经传输到channel中,后缀.COMPLETED是重新命名后的结果。

[root@hadoop ~]# cd hmbbs_tmp

[root@hadoop hmbbs_tmp]# ls

hmbbs_tmp表示的是channel使用的目录。

[root@hadoop hmbbs_tmp]# cd 123

[root@hadoop 123]# ls

checkpoint checkpoint.meta inflightputs inflighttakes

这里的数据是备份数据,如果datadir里数据丢失可以从这里恢复。

在实际生产中是多节点配置,比较复杂,可以参考官方文档:

http://flume.apache.org

分布式日志收集系统:Flume的更多相关文章

  1. 分布式日志收集系统 —— Flume

    一.Flume简介 Apache Flume 是一个分布式,高可用的数据收集系统.它可以从不同的数据源收集数据,经过聚合后发送到存储系统中,通常用于日志数据的收集.Flume 分为 NG 和 OG ( ...

  2. 分布式日志收集系统Apache Flume的设计详细介绍

    问题导读: 1.Flume传输的数据的基本单位是是什么? 2.Event是什么,流向是怎么样的? 3.Source:完成对日志数据的收集,分成什么打入Channel中? 4.Channel的作用是什么 ...

  3. 分布式日志收集框架Flume

    分布式日志收集框架Flume 1.业务现状分析 WebServer/ApplicationServer分散在各个机器上 想在大数据平台Hadoop进行统计分析 日志如何收集到Hadoop平台上 解决方 ...

  4. Flume -- 开源分布式日志收集系统

    Flume是Cloudera提供的一个高可用的.高可靠的开源分布式海量日志收集系统,日志数据可以经过Flume流向需要存储终端目的地.这里的日志是一个统称,泛指文件.操作记录等许多数据. 一.Flum ...

  5. 分布式日志收集系统- Cloudera Flume 介绍

        Flume是Cloudera提供的日志收集系统,具有分布式.高可靠.高可用性等特点,对海量日志采集.聚合和传输, Flume支持在日志系统中定制各类数据发送方, 同时,Flume提供对数据进行 ...

  6. Flume分布式日志收集系统

    1.flume是分布式的日志收集系统,把收集来的数据传送到目的地去.2.flume里面有个核心概念,叫做agent.agent是一个java进程,运行在日志收集节点.通过agent接收日志,然后暂存起 ...

  7. flume分布式日志收集系统操作

    1.flume是分布式的日志收集系统,把收集来的数据传送到目的地去. 2.flume里面有个核心概念,叫做agent.agent是一个java进程,运行在日志收集节点. 3.agent里面包含3个核心 ...

  8. 日志收集系统Flume及其应用

    Apache Flume概述 Flume 是 Cloudera 提供的一个高可用的,高可靠的,分布式的海量日志采集.聚合和传输的系统.Flume 支持定制各类数据发送方,用于收集各类型数据:同时,Fl ...

  9. 学习笔记:分布式日志收集框架Flume

    业务现状分析 WebServer/ApplicationServer分散在各个机器上,想在大数据平台hadoop上进行统计分析,就需要先把日志收集到hadoop平台上. 思考:如何解决我们的数据从其他 ...

随机推荐

  1. Java导出freemarker的三种方法

    在上一篇呢,我将导出word文档的想法与思路以及实现功能的代码分享了一下,在这里, 我想说的是我对导出freemarker模板路径的三种方法的理解和认知.  有错误的话希望大家帮忙指正 在接下来我会使 ...

  2. ubuntu17 安装中文输入法

    在此说的是intelligent pinyin.我首先尝试的是搜狗输入法,虽然最终安装成功了,但还是直接卸载了.因为它不仅需要fcitx框架,在安装成功后,标题栏上面还会出现两个输入法图标.真正不能让 ...

  3. js在工作中遇到的一些问题

    前言 js这种语言没有太多封装好的模式或者统一的编程方式,所以一些细节的问题很容易导致bug,那下面就写为:一份坚固的代码是什么样的. 持续更新一下,记一些good case和bug. 事件绑定的选择 ...

  4. 吾八哥学Selenium(三):操作复选框checkbox/单选框radio的方法

    复选框checkbox和单选框radio是web网站里经常会使用到的两个控件,那么在web自动化测试的时候如何利用Selenium来操作这俩控件呢?今天我们就来简单入门练习一下! html测试页面代码 ...

  5. TCP/IP协议学习和理解

    TCP:Transmission Control Protocol-传输控制协议 IP:Internet Protocol-网络协议 TCP/IP 不是一个协议,而是一个协议族的统称,里面包括了 IP ...

  6. php基本函数的学习(2)

    chgrp chgrp — 改变文件所属的组 说明: bool chgrp ( string $filename , mixed $group ) 尝试将文件 filename 所属的组改成 grou ...

  7. myeclipse8.5打包jar并引入第三方jar包

    用myeclipse自带的export工具,无法引入被引用的第三方的jar包,有两种方式: (1)直接export出jar包,解压jar包(第三方的jar包太多,太麻烦) 在创建好的JAR文件里找到M ...

  8. Hybrid APP 架构设计思路

    关于Hybrid模式开发app的好处,网络上已有很多文章阐述了,这里不展开. 本文将从以下几个方面阐述Hybrid app架构设计的一些经验和思考. 原文及讨论请到 github issue 通讯 作 ...

  9. FusionCharts ID重复

    1.今天在做项目时,有关FusionCharts柱状图的,调试的过程中,我发现IE浏览器出现FusionCharts ID重复. 具体的消息如下: 消息:#25081843:IECompatibili ...

  10. 如何修改WinPE Boot的.wim镜像文件

    1. 使用imagex /apply或imagex /mountrw将WIM镜像文件mount到某个文件夹,假设为d:\tmp\winpe_x86\mount.  例: imagex /mountrw ...