美文网首页
Flume学习

Flume学习

作者: 解宏斌 | 来源:发表于2018-11-29 08:02 被阅读0次

    1. Flume架构

     https://blog.csdn.net/a2011480169/article/details/51544664

    2. flume核心是把数据从数据源source收集过来,再将收集到的数据送到指定的目的地sink,为保证输送过程成功,在送达sink之前,会先缓存数据channel,待数据真正到达目的地sink后,flume再删除自己缓存的数据

    3. event

        事务保证是在event级别进行的

        event将传输的数据进行封装,是flume传输数据的基本单位,如果是文本文件,通常是一行记录

        event本身为一个字节数据

    4. agent

        agent本身是一个java进程,运行在日志收集节点

    5. flume运行机制

        source接收到数据之后,将数据发送给channel,channel作为数据缓冲区会临时存放这些数据,随后,sink会将channel中的数据发送到外部指定的目的地,例如HDFS 

        只有当sink将channel中的数据成功发送之后,channel才会删除临时数据,这种机制保证了数据传输的可靠性和安全性

    6. flume支持多级flume的agent,例如sink可以将数据写入下一个agent的source中;flume还支持扇入(fan-in),source可以接受多个输入,和扇出(fan-out),就是sink可以将数据输出到多个目的地

    7. 案例

        https://www.cnblogs.com/zyde/p/8946069.html

        NetCat Source:监听一个指定的网络端口,即只要应用程序向这个端口写数据,这个source组件就可以获取到信息,其中sink:logger,Channel:memory

        NetCat Source:监听一个指定的网络端口,其中sink:hdfs,Channel:file

        Spooling Directory Source:监听一个指定的目录,即只要应用程序向这个指定的目录中添加新文件,source组件就可以获取该信息,并解析该文件的内容,然后写入channel,写入后,标记该文件已完成或删除该文件,其中sink:logger,channel:memory

        Spooling Directory Source:监听一个指定目录,其中sink:hdfs,channel:file

        Exec Source:监听一个指定的命令,获取一条命令的结果作为它的数据源,常用命令为tail -f file,即

    相关文章

      网友评论

          本文标题:Flume学习

          本文链接:https://www.haomeiwen.com/subject/lafxcqtx.html