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。
  • 相关阅读:
    前端笔试题----JavaScript部分
    前端笔试题----html,css部分
    JS基础--执行环境及作用域
    关于css3 flex布局
    Ceph万兆内网与系统万兆迁移
    从0开始的InfiniBand硬件踩坑过程
    Redis实战与分析
    ceph osd 自动挂载的N种情况
    集群IPtables转发与防火墙
    ceph 常见问题百科全书---luminous安装部署篇
  • 原文地址:https://www.cnblogs.com/nicen/p/11578958.html
Copyright © 2011-2022 走看看