大数据(一) - hadoop生态系统及版本演化
HDFS:分布式存储系统(Hadoop Distributed File System):提供了高可靠性、高扩展性和高吞吐率的数据存储服务
HDFS源自于Google的GFS论文 (发表于2003年10月 ),是GFS克隆版
YARN:资源管理系统(Yet Another Resource Negotiator):负责集群资源的统一管理和调度,Hadoop 2.0新增系统,使得 多种计算框架可以运行在一个集群 中
MapReduce:分布式计算框架:具有易于编程、高容错性和高扩展性等优点
MapReduce源自于Google的MapReduce论文 (发表于2004年12月),是Google MapReduce克隆版
Hive:由facebook开源,基于MR的 数据仓库 ,数据计算使用MR,数据存储使用HDFS,Hive 定义了一种类 SQL 查询语言——HQL: 类似SQL,但不完全相同
日志分析:统计网站一个时间段内的pv、uv
Pig:由yahoo!开源,构建在Hadoop之上的 数据仓库
Mahout:数据挖掘库,基于Hadoop的机器学习和数据挖掘的分布式计算框架,实现了三大类算法 : 推荐(Recommendation) 、 聚类(Clustering) 、 分类(Classification)
HBase:分布式 数据库 ,源自Google的Bigtable论文 , 发表于2006年11月 , 是Google Bigtable克隆版
Zookeeper:分布式协作服务,源自Google的Chubby论文 , 发表于2006年11月 ,是Chubby克隆版
解决分布式环境下数据管理问题 : 统一命名 、 状态同步 、 集群管理 、 配置同步
Sqoop:数据同步工具,连接Hadoop与传统数据库之间的桥梁 , 支持多种数据库,包括MySQL、DB2等 , 插拔式,用户可根据需要支持新的数据库 ;本质上是一个MapReduce程序
Flume:日志收集工具, Cloudera开源的日志收集系统
Oozie:作业流调度系统
目前计算框架和作业类型繁多: MapReduce Java、Streaming、HQL、Pig等
如何对这些框架和作业进行统一管理和调度:
不同作业之间存在依赖关系(DAG);
周期性作业
定时执行的作业
作业执行状态监控与报警(发邮件、短信等)
Hadoop发行版本
apache hadoop版本
CDH:Cloudera Distributed Hadoop
http://archive.cloudera.com/cdh5/cdh/
HDP:Hortonworks Data Platform
http://zh.hortonworks.com/hdp/downloads/
建议选择公司发行版(不必面临版本某一个框架的选择问题),比如CDH或HDP ,推荐使用CDH(国内主流版本)
更易维护和升级
经过集成测试,不会面临版本兼容问题