【Flume】知识总结
Flume是Cloudera提供的一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统,Flume支持在日志系统中定制各类数据发送方,用于收集数据;同时,Flume提供对数据进行简单处理,并写到各种数据接受方(可定制)的能力。
Source
*Source负责接收events或通过特殊机制产生events,并将events批量放到一个或多个Channels。有驱动和轮询2种类型的Source。
驱动型source:是外部主动发送数据给Flume,驱动Flume接受数据。
轮询source:是Flume周期性主动去获取数据。
*Source必须至少和一个channel关联。
Channel
*Channel位于Source和Sink之间, Channel的作用类似队列,用于临时缓存进来的events,当Sink成功地将events发送到下一跳的channel或最终目的,events从Channel移除。
不同的Channel提供的持久化水平也是不一样的:
Memory Channel:不会持久化 。
File Channel: 基于WAL(预写式日志Write-Ahead Log)实现。
JDBC Channel: 基于嵌入式Database实现。
*Channels支持事务,提供较弱的顺序保证,可以连接任何数量的Source和Sink。
memory channel:消息存放在内存中,提供高吞吐,但不提供可靠性;可能丢失数据。
file channel:对数据持久化;但是配置较为麻烦,需要配置数据目录和checkpoint目录;不同的file channel均需要配置一个checkpoint 目录。
jdbc channel:内置的derby数据库,对event进行了持久化,提供高可靠性;可以取代同样具有持久特性的file channel
Sink
*Sink负责将events传输到下一跳或最终目的,成功完成后将events从channel移除。
*必须作用于一个确切的channel。
最新文章
- Python基础知识之认识字符串
- 社区O2O的发展与未来
- MSBuild简单介绍
- Web安全开发注意事项
- MongoDB 删除数据库
- how to check unsolved conflicts file list in git merge?
- 常见内部函数----Python
- js blog
- SCALA中类的继承
- dia 在Linux(ubuntu)下无法输入中文的解决办法 .
- wget ( download the whole page from the website )
- python 带小数点时间格式化
- MySQL在CenterOS和Ubuntu的安装
- OpenCvSharp尝试
- HDU1171将多个不同价值不同数量的器材尽可能按等价值均分 第一份的价值尽可能的大 所以sum/2对第二份进行01背包 使其价值尽可能的大
- CRM rbac 组件的应用
- git 修改上次提交信息 与 撤销此操作.
- 在linux下使用sqlcmd
- gcc5.2版本安装详解
- weblogica domain目录 环境变量 如何启动weblogic server