ZooKeeper
ZooKeeper是一个分布式、开放源码的分布式应用程序协调服务,是Google的Chubby应该开源实现,是Hadoop和Hbase的主要组件。提供一致性服务:配置维护、域名服务、分布式同步、组服务等。
Zookeeper工作过程
Zookeeper提供了松耦合交互式
读操作:各个节点都可实现
写操作:必须发送到领导者,并经领导者同意才可执行
(奇数节点)
商用拓扑:ZooKeeper决定两个namenode中的一个。
HBase
Powerset开启HBase项目,2008将其交给Apache托管。
Hbase是基于Hadoop的开源分布式数据库,以Google的BigTable为原型,高可靠、高性能、列存储、可伸缩、实时读写。
- 适合于非结构化数据
- 基于列
- 在Hadoop之上提供了类似于BigTable的能力
逻辑模型:用户对数据的组织形式
数学模型:
行键为数据行在表中的唯一标识,
访问表中的行:单个行键,给定的行键范围,全表扫描
回收方式:对每个单元格,只存储指定个数的最新版本;板寸最近一段时间的版本
元素由行键、列(<列族>:<限定符>)和时间戳唯一确定
物理模型:一个行进行分割
master/slave架构
Hive
传统数据仓库:无法满足快速增长的海量数据存储需求;无法有效处理不同类型的数据;计算和处理能力不足。
- Facebook开源,最初用于解决海量结构化的日志数据统计问题ETL工具
- 构建在Hadoop之上的数据仓库(MR,HDFS)
- HQL(类SQL语句)
- 离线数据处理(MapReduce)
- SQL->MR的翻译器
- 日志分析(统计一个时间段的PV和UV(unique view))
- 多维度数据分析
- 百度、淘宝使用其进行日志分析
- 海量结构化数据离线分析、低成本数据分析(不直接编写MR)
- 批处理处理
成本低、开发灵活;不必MapReduce开发;执行速度慢;不支持update和delete操作。
依赖HDFS存储;依赖mr处理数据;某些场景Pig可以替代Hive;HBASE提供数据实时访问。
服务于把报表中心;Mahout给BI,Hbase
数据类型:数值型、布尔型、字符串、array、map、struct
数理统计、字符串操作、条件操作,也可自己编写函数
Flume
核心思想:数据量
数据源Thrift、Shell
数据汇THrift、HDFS、HBASE
通过使用管道,提高数据可靠性
Source:
Channel:
Sink:从channel取数据,内部用netty传送