大数据之Flume

Flume

数据收集的方式大概两种:
日志: Flume
网页-:收集手段 – 爬虫,埋点

简介

  1. 概念
    Flume实际上是Apache提供的一套数据收集分布式系统,对日志进行:收集,汇聚,传输。
  2. 版本:
    a.Flume0.X-Fliume-og
    b.Flume1.X-Flume-ng, Flume-ng不兼容Flume-og

基本概念

  1. Event:
    a.Flume会将收集每一条日志封装成一个Event对象
    b.Event对象本质上是一个json串,包含headers以及body,收集的日志是放在body中的
  2. Agent:
    a.在Flume中,Flume的结构是以Agent形式来组建的
    b.Agent由Source,Channerl和Sink结构来组成的
    c.source:从数据源采集数据
    d.Channel:缓存数据
    e.Sink:将数据发送写往目的地

    f. 在Flume中,一个Source可以绑定多个Channel
    (Agent是单级流动)
    在这里插入图片描述
  3. 多级流动
    在这里插入图片描述
  4. 扇入流动
    在这里插入图片描述
  5. 扇出流动
    在这里插入图片描述

配置环境

  1. wget http://bj-yzjd.ufile.cn-north-02.ucloud.cn/apache-flume-1.6.0-bin.tar.gz 在云主机安装
  2. wget http://bj-yzjd.ufile.cn-north-02.ucloud.cn/nc-1.84-22.el6.x86_64.rpm
    在云主机上安装nc,用来启动hadoop端口

Source

  1. AVRO: 接收AVRO序列化之后的数据,结合AVRO Sink可以实现多级流动,扇入流动和扇出流动
  2. Spooling Directory:监听指定的目录,当目录中新添文件的时候,这个文件中的内容会自动被收集,但是收集够的文件再被篡改不再收集。
  3. HTTP:监听HTTP请求,并且最好监听POST请求,GET请求不稳定,其他请求方式不支持
  4. 自定义Source:
    a.如果需要自定义Source,需要实现EcentDrivenSource或者PollableSource
    i EventDrivenSource:时间驱动Source-被动型Source,不会提供线程去获取数据,需要自定义线程去获取数据。
    ii PollabkeSource:拉取Source-主动型Source,提供了线程获取数据
    b.需要实现Configurable接口获取指定的属性值

Channel

  1. Menory:内存通道,将数据存储再内存中,存储速度相对较快但是不可靠,在使用的时候需要指定容量,Memory Channel如果满了,后续的数据会被阻塞,所以Memory Channel本质上是一个BlickingDeque
  2. File:文件通道。将数据存储在磁盘中,读写速度相对较慢但是可靠

Sink

  1. File_roll:将数据写到文件中,在使用的时候需要指定文件的存储路径,如果不指定默认情况下是每隔30s产生一个新文件
  2. HDFS:将数据写到HDFS上,在连接HDFS的时候,需要指定NameNode所在地址
  3. AVRO:
    在这里插入图片描述
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值