1. 1、本文档共14页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Flume介绍概要1

Flume简介flume是一个分布式、可靠、和高可用的海量日志采集、聚合和传输的系统核心概念:Agent:一个agent就是一个JVM进程,一个agent中包含多个sources和sinks。Client:生产数据。Source:从Client收集数据,传递给Channel。Channel:主要提供一个队列的功能,对source提供中的数据进行简单的缓存。Sink:从Channel收集数据,运行在一个独立线程。Events:可以是日志记录、avro对象等。基本结构:Flume以agent为最小的独立运行单位。。单agent由Source、Sink和Channel三大组件构成,如下图:复杂结构:Flumeagent可以根据需求配置成多种形式的拓扑结构Agent顺序连接Agent联合多路复用网络流:Flume支持Avro、Thrift、Syslog、Netcat流数据采集Source表1 Source类型类型描述Avro Source监听Avro端口并接收Avro Client的流数据Thrift Source监听Thrift端口并接收Thrift Client的流数据Exec Source基于Unix的command在标准输出上生产数据JMS Source从JMS(Java消息服务)采集数据Spooling Directory Source监听指定目录Twitter 1% firehose Source (experimental)通过API持续下载Twitter数据(实验阶段)Kafka Source采集Kafka topic中的messageNetCat Source监听端口(要求所提供的数据是换行符分隔的文本)Sequence Generator Source序列产生器,连续不断产生event,用于测试Syslog Sources采集syslog日志消息,支持单端口TCP、多端口TCP和UDP日志采集HTTP Source接收HTTP POST和GET数据Stress Source用于source压力测试Legacy Sources向下兼容,接收低版本Flume的数据Custom Source自定义source的接口Scribe Source从facebook Scribe采集数据Avro Source接收Avro Client的流数据,客户端与采集端需要统一序列化模板主要参数配置其中threads决定最多有多少个线程来处理RPC请求源码分析通过ty实现,启动一个Netty Server来提供RPC服务socketChannelFactory:主要负责生产网络通信相关的Channel和ChannelSink实例,NIO Server端一般使用NioServerSocketChannelFactory,用户也可以定制自己的ChannelFactory。?pipelineFactory:主要用来对传输数据的处理,由于对数据的处理属于业务相关,用户应自己实现ChannelPipelineFactory,然后往ChannelPipelineFactory添加自定义的Handler?启动Netty的Server端时都会设置两个ExecutorService对象,我们都习惯用boss,worker两个变量来引用这两个对象。在Netty的里面有一个Boss,他开了一家公司(开启一个服务端口)对外提供业务服务,它手下有一群做事情的workers。Boss一直对外宣传自己公司提供的业务,并且接受(accept)有需要的客户(client),当一位客户找到Boss说需要他公司提供的业务,Boss便会为这位客户安排一个worker,这个worker全程为这位客户服务(read/write)。如果公司业务繁忙,一个worker可能会为多个客户进行服务。Spooling Directory Source监测配置的目录下新增的文件,并将文件中的数据读取出来。需要注意两点:拷贝到spool目录下的文件不可以再打开编辑;不具备目录递归功能。另外需要一个程序对监测目录定期维护,如:备份文件、删除错误文件等。主要参数配置spoolDir:监听目录deletePolicy:当文件中数据全部读取到channel后,源文件处理(立即删除或者重命名)batchSize:source缓存大小deserializer:序列化,默认按行划分event,可自定义序列化规则Channel表2Channel类型类型说明Memory ChannelEvent数据存储在内存中JDBC ChannelEvent数据存储在持久化存储中,当前Flume Channel内置支持DerbyFile ChannelEvent数据存储在磁盘文件中Spillable Memory ChannelE

文档评论(0)

yaocen + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档