zoukankan      html  css  js  c++  java
  • Flume 初探

    Apache 是一个高可用、高可靠的,分布式的海量日志采集、聚合、传输系统,基于流式架构,灵活简单。 Flume 最主要的作用就是实时读取服务器本地磁盘的数据,将数据写入HDFS中。 Flume组成架构详解: Source输入端常用的类型有:spooling directory、exec、avro、syslog、netcat 等 Put事务的流程: doPut:将批数据先写入临时缓冲区putList doCommit:检查channel内存队列是否足够合并 doRollback;channel内存队列空间不足,回滚数据 Channel是位于Source和Sink之间的缓冲区,Flume自带两种channel:MemoryChannel和FileChannel MemoryChannel是基于内存的缓存,在不需要关心数据丢失的情景下使用。 FileChannel是Flume的持久化Channel,系统宕机不会丢失数据。 Take事务: doTake:先将数据取到临时缓冲区takeList doCommit:如果数据发送成功,则清除临时缓冲区的takeList doRollback:数据发送过程中如果出现异常,rollback将临时缓冲区takeList中的数据归还给channel内存队列 Sink组件常见的目的地包括: HDFS、Kafka、avro、logger、File、自定义。 Sink不断地轮询Channel中的事件且批量地移除它们,并将这些事件批量写入到存储或索引系统、或者被发送到另一个Flume Agent。 Sink是完全事务性的。在从Channel批量删除数据之前,每个Sink用Channel启动一个事务。批量事件一旦成功写出到存储系统或下一个Flume Agent,Sink就利用Channel提交事务。事务一旦被提交,该Channel从自己的内部缓冲区删除事件。 Sink组件目的地包括hdfs、logger、avro、thrift、ipc、file、null、HBase、solr、自定义。 Agent是一个JVM进程,是flume数据传输的基本单元 Agent主要有3个部分组成,Source、Channel、Sink。
  • 相关阅读:
    POJ 3667 & HDU 3308 & HDU 3397 线段树的区间合并
    HDU 5992 kd-tree
    BZOJ 4154 kd-tree dfs序 + 二维空间的区间(矩阵)更新单点查找
    BZOJ 4066 kd-tree 矩形询问求和
    BZOJ 1941 kd-tree
    BZOJ 2648 kd-tree模板
    HDU 5925 离散化
    php trait
    php命名空间
    js
  • 原文地址:https://www.cnblogs.com/nicen/p/11578958.html
Copyright © 2011-2022 走看看