- 1、本文档共8页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Flume安装和配置解析
Flume基础篇
一、核心概念
Event
数据传输基本单元 。
构成 header(可选的)+ byte array(载有数据)。
Client
将原始log包装成events并且发送它们到一个或多个agent的实体。
Agent
Flume流的基础部分。
包含Sources, Channels, Sinks和其他组件,它利用这些组件将events从一个节点传输到另一个节点或最终目的。
Flume为这些组件提供了配置、生命周期管理、监控支持
4、Source
负责接收events或通过特殊机制产生events,并将events批量的放到一个或多个Channels。有event驱动和轮询2种类型的Source。
5、hannel
位于Source和Sink之间,用于缓存进来的events,当Sink成功的将events发送到下一跳的channel或最终目的,events从Channel移除。
持久化水平。
Channels支持事务。
提供较弱的顺序保证。
可以和任何数量的Source和Sink工作。
6、
责将events传输到下一跳或最终目的,成功完成后将events从channel移除。
类型:HDFS、HBase 存储events到最终目的的终端的Sink
Null Sink 自动消耗的Sink
Avro 用于Agent间通信的IPC Sink
必须做用于一个确切的Channel。
7、nterceptor
用于Source的一组Interceptor,按照预设的顺序在必要地方装饰和过滤events。
内建的Interceptors允许增加event的headers比如:时间戳、主机名、静态标记等等
定制的interceptors可以通过内省event payload(读取原始日志),在必要的地方创建一个特定的headers8、Channel Selector
内建的Channel Selectors:
复制Replicating: event被复制到相关的channel
复用Multiplexing: 基于hearder,event被路由到特定的channel
9、Sink Processor
Flume通过Sink Processor实现负载均衡(Load Balancing)和故障转移(failover)。
所有的Sink都是采取轮询(polling)的方式从Channel上获取events。这个动作是通过Sink Runner激活的
Sink Processor充当Sink的一个代理
内建的Sink Processor:
Load Balancing Sink Processor – 使用RANDOM, ROUND_ROBIN或定制的选择算法
Failover Sink Processor
Default Sink Processor(单Sink)
第二章 公司ct项目各个组件
collect.flume.plugin
第三章 Flume1.6.0单机版安装与配置
解压缩apache-flume-1.6.0-bin.tar.gz
tar –zxvf apache-flume-1.6.0-bin.tar.gz
在conf下新建simple.conf
# example.conf: A single-node Flume configuration
# Name the components on this agent
a1.sources = r1
a1.sinks = k1
a1.channels = c1
# Describe/configure the source
a1.sources.r1.type = netcat
a1.sources.r1.bind = localhost
a1.sources.r1.port = 44444
# Describe the sink
a1.sinks.k1.type = logger
# Use a channel which buffers events in memory
a1.channels.c1.type = memory
a1.channels.c1.capacity = 1000
a1.channels.c1.transactionCapacity = 100
# Bind the source and sink to the channel
a1.sources.r1.channels = c1
a1.sinks.k1.channel = c1
3、$ bin/flume-ng agent --conf conf --conf-file exampl
文档评论(0)