flume组件原理及应用

目录

flume应用

flume问题


flume应用

  • flume概述

    • 定义

      Flume是Cloudera提供的一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统。Flume基于流式架构,灵活简单。

    • 基础架构

       agent是一个JVM进程,三个部分Source,Channel,Sink

  • flume入门

    • 配置文件

      • 上官网搜索对应的组件的写法

    • 启动参数说明

      bin/flume-ng agent --conf conf/ --name a1 --conf-file conf/nc-flume-log.conf -Dflume.root.logger=INFO,console

      --conf/-c:表示配置文件存储在conf/目录

      --name/-n:表示给agent起名为a1

      --conf-file/-f:flume本次启动读取的配置文件是在conf文件夹下的nc-flume-log.conf文件。

      -Dflume.root.logger=INFO,console :-D表示flume运行时动态修改flume.root.logger参数属性值,并将控制台日志打印级别设置为INFO级别。日志级别包括:log、info、warn、error。日志参数已经在配置文件中修改了,不再需要重复输入。

    • 监控端口数据官方案例

    • 实时监控目录下的多个追加文件

      Taildir说明:

      Taildir Source维护了一个json格式的position File,其会定期的往position File中更新每个文件读取到的最新的位置,因此能够实现断点续传。

      {"inode":2496272,"pos":12,"file":"/opt/module/flume/files/file1.txt"}

      其中inode为linux中存储元数据的区域,用inode识别文件,而taildir source 会根据inode与文件全路径进行匹配,如果不是两者都一致,且source的表达式能匹配上,则会进行断点续传,有重复的数据产生

  • flume进阶

    ChannelSelector有两种:Replicating(复制)和Multiplexing(多路复用)。

    SinkProcessor共有三种类型:DefaultSinkProcessor对应的是单个的Sink,LoadBalancingSinkProcessor和FailoverSinkProcessor对应的是Sink Group,LoadBalancingSinkProcessor可以实现负载均衡的功能,轮循发往指定的sink;FailoverSinkProcessor可以错误恢复的功能,只有优先级高的出错时才发往备用的sink

    • 事务

    •  内部原理

  • flume数据流监控

    • 操作flume监控

      • 主要监控四个指标参数:

        EventPutAttemptCountsource尝试写入channel的事件总数量
        EventPutSuccessCount成功写入channel且提交的事件总数量
        EventTakeAttemptCountsink尝试从channel拉取事件的总数量。
        EventTakeSuccessCountsink成功读取的事件的总数量

flume问题

flume会丢数据吗?

答:正常情况不会丢数据!

根据Flume的架构原理,Flume是不可能丢失数据的,其内部有完善的事务机制,Source到Channel是事务性的,Channel到Sink是事务性的(put事务与take事务),因此这两个环节不会出现数据的丢失,唯一可能丢失数据的情况是Channel采用memoryChannel,由于是存储在内存中的,如果agent宕机导致数据丢失,或者Channel存储数据已满,导致Source不再写入,未写入的数据丢失。

虽然正常使用不会造成数据丢失,但是可能会造成数据重复.

如果数据已经成功由Sink发出,但是没有接收到响应,Sink会再次发送数据,此时可能会导致数据的重复。在flume内部是不会存在数据重复的问题(被事务包含).

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值