Flume的使用概述

1、Flume概述

Flume是Cloudera提供的一个高可靠的,分布式的海量日志采集、聚合和传输的系统。

2、Flume组成

Agent主要有3个部分组成,Source、Channel、Sink。

①Source

Source组件是专门用来收集数据的,可以处理各种类型、各种格式的日志数据,包括avro、exec、spooling directory、netcat等。

②Channel

Channel组件对采集到的数据进行缓存,可以存放在Memory或File中。

Flume自带两种Channel:Memory Channel和File Channel。

Memory Channel是内存中的队列。性能高,但有可能丢失数据。

File Channel将所有事件写到磁盘。因此在程序关闭或机器宕机的情况下不会丢失数据。容错性高。

③Sink

Sink组件是用于把数据发送到目的地的组件,目的地包括Hdfs、Logger、avro

3、Flume内部原理

①Channel Selector

两种Channel Selector的区别是 Replicating Channel Selector会将 Source过来的 events发往所有 channel,而Multiplexing Channel Selector可以选择该发往哪些 Channel。

②Channel

Fume自带两种 Channel:Memory Channel和 File channel。
Memory Channel是基于内存缓存,在不需要关心数据丟失的情景下适用。
File channe是Fume的持久化 Channel。系统宕机不会丢失数据

4、Flume的事务机制

Flume使用两个独立的事务分别负责从Soucrce到Channel,以及从Channel到Sink的事件传递。

只有Source中的所有数据提交到Channel,那么Source才认为数据读取完成;Channel->Sink阶段同理,如果某种原因使得事件无法记录,那么事务将会回滚,且所有事件都会保护到Channel中,等待重新传递。

5、注意

1、flume的拓扑图中需要先打开接受数据的flume。

2、输出的本地目录必须是已经存在的,不会自动创建。

3、yum install netcat 工具 nc hostname port

4、观察Flume的数据丢失与否,采用Ganglia第三方框架

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yongfeicao

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值