设为首页 收藏本站
查看: 1124|回复: 0

[经验分享] 【Flume NG用户指南】(0)介绍

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-11-27 17:02:24 | 显示全部楼层 |阅读模式
作者:周邦涛(Timen)
Email:zhoubangtao@gmail.com
转载请注明出处:  http://blog.csdn.net/zhoubangtao/article/details/27704105
  本文将分几个博客将最新的Flume 1.5.0 User Guide翻译成中文,并且加入自己的一些理解
1. 介绍
1.1 概览
  Apache Flume是一个能够有效的从很多不同的数据源中收集、聚合和移动大量的日志数据到一个中心化数据存储系统中的分布式的,可靠的,可用的系统。
  Apache Flume的用途不仅限于日志数据的聚合。由于数据源是可以定制化的,Flume可以用来传输大量的event数据,它包括但不限于网络数据、社交媒体生成的数据、email消息和很多任何可能的数据源。
  Apache Flume是Apache基金会(Apache Software Foundation)的顶级项目。
  目前有两个可用的发行版 —— 0.9.x 和 1.x。
  0.9.x版本的文档在http://archive.cloudera.com/cdh/3/flume/UserGuide/中
  这个文档适合于1.x版本(主要是1.4.0和1.5.0)。
  这里鼓励新用户和老用户使用1.x 发行版,以便利用新架构中提供的性能改进和配置灵活性。
1.2 系统要求

  • Java运行时环境(JRE)—— Java 1.6或者更高版本(推荐Java 1.7)
  • 内存 —— 对source,channel和sink使用的配置有充足的内存
  • 磁盘空间 —— 对channel和sink使用的配置有充足的磁盘空间
  • 目录权限 —— agent所使用目录的读写权限
1.3 架构
1.3.1 数据流模型
  一个Flume event是一个数据流单元,它包含一个字节负载和一个可选的字符串属性集合。一个Flume agent是一个持有可以让event从一个外部源流入下一个目的地(也就是一跳,即hop)的组件的JVM进程。
DSC0000.jpg
  一个Flume Source 消费外部源(比如Web服务器)传送给它的event。外部源以一种能够被目标Flume Source识别的数据格式发送event给Flume。例如,一个Avro Flume Source能够用来从Avro客户端或者数据流中其他的Flume Agent的Avro Sink中接收Avro event。可以使用Thrift Source接收来自Thrift Sink或者Flume Thrift Rpc客户端或者使用Flume Thrift协议生成的任何语言的客户端的event,从而实现相似的数据流。当一个FlumeSource接收到一个event,它就会把它存入一个或多个Channel中。Channel是一个消极的存储器,它会一直存储着event直到它被一个Flume Sink消费掉。FileChannel就是一个例子 —— 它建立在本地文件系统之上。Flume Sink将event从Channel中移除,让后把它放到外部的存储系统(比如HDFS,通过Flume HDFS Sink)中或者转发到整个数据流的下一个Flume Agent(也即下一跳)。在Flume Agent中Source和Sink异步的使用Channel中存储的event。
1.3.2 复杂数据流
  Flume 允许用户创建一个event到达最终目的地之前通过多个Flume Agent传输的多跳数据流。它还允许扇入和扇出数据流,基于上下文的路由以及对失败跳转的备份路由(fail-over)。
1.3.3 可靠性
  在每个Flume Agent中event都会被存储在一个Channel中。之后event才会被传输到下一个Agent或者最终的存储系统(例如HDFS)。event只有在下一个Flume Agent的Channel中或者最终的存储系统中存储好才会从当前的Channel中被移除。这也就是Flume中的一步跳转消息传输语义是怎么提供的数据流中端到端的可靠性的。
1.3.4 可恢复性
  event被存储在Channel中,Channel管理从失败中恢复。Flume支持一个建立在本地文件系统之上的,可持久化的FileChannel。还有一个Memory Channel把event简单存储在一个内存队列中,它速度更快,但是当一个Flume Agent进程死掉之后,依然存储在Memory Channel中的event就不能够恢复了。
  

  下篇文章讲述Flume 安装【Flume NG用户指南】(1)设置

作者:周邦涛(Timen)
Email:zhoubangtao@gmail.com
转载请注明出处:  http://blog.csdn.net/zhoubangtao/article/details/27704105

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-144263-1-1.html 上篇帖子: Flume NG 学习笔记(一)简介 下篇帖子: Flume 分布式日志收集
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表