温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Flume应用场景及用法有哪些

发布时间:2021-12-23 11:52:08 来源:亿速云 阅读:250 作者:iii 栏目:云计算

本篇内容主要讲解“Flume应用场景及用法有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Flume应用场景及用法有哪些”吧!

Flume简介

    Flume是一个分布式的、高可用的海量日志采集系统。它支持对日志数据的发送方、接收方进行定义,可将多种来源的日志数据写到指定的接收方,如:文本、HDFS、Hbase等。
    我认为Flume最让我称赞的就是,可以在不干涉已有系统运行的情况下,无侵入地对采集到该系统的日志信息。

    Flume的数据流由event(事件)贯穿始终,event是Flume的基本数据单位,它携带日志数据(字节数组形式)和头信息,这些event由Agent外部的Source生成。 当Source捕获到事先设定的事件(这里的事件,是指广义上的事件), 就会生成event并推送到单个或多个Channel中。你可以把Channel看作是一个缓冲区,它保存event直到Sink对其处理完毕。Sink负责处理event,它对日志进行持久化或把event 转给另一个Source。

    Flume以agent为最小的独立运行单位,每台机器运行一个agent,一个agent由Source、Sink和Channel三大组件构成,如下图:

Flume应用场景及用法有哪些

  • Client生产数据,运行在一个独立的线程,比如我们的应用系统。

  • Source从Client收集数据,传递给Channel。

  • Sink从Channel收集数据,运行在一个独立线程。

  • Channel连接 sources 和 sinks ,这个有点像一个队列。

  • Events可以是日志记录、 avro 对象等。

    一个agent中包含多个sources和sinks:

Flume应用场景及用法有哪些

应用场景及用法

  1. sources.type = netcat
        Flume可以监听到某台计算机(Client)接收到其它计算机发来的netcat、telnet消息, 然后将这些消息传送到指定的地方,如hdfs、HBase、Kafka等。

  2. sources.type = exec
        Flume可以监听到某台计算机(Client)某个指令的执行,然后把指令执行产生的输出信息发送到指定的地方,如hdfs、HBase、Kafka。如设定:
    sources.command = tail -F /app/xxx.log
        那么每当有10条新的日志产生后,Flume就把这10条新日志传送到指定的地方,如hdfs、HBase、Kafka等。

  3. sources.type = spooldir
        Flume可以监听到某台计算机(Client)上某个目录文件的变化,当有新的日志文件产生时,Flume就把这个日志文件的内容传送到指定的地方,如hdfs、HBase、Kafka等。

  4. sources.type = http

  5. sources.type = syslogtcp
        Flume可以监听到某台计算机(Client)TCP的端口,把从端口接收到的消息传送到指定的地方,如hdfs、HBase、Kafka等。

到此,相信大家对“Flume应用场景及用法有哪些”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI