Flume安装和配置解析.doc
文本预览下载声明
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
显示全部