作者:地之南_816 | 来源:互联网 | 2023-05-18 18:21
*2006年8月9日,谷歌首席执行官埃里克·施密特在搜索引擎大会上首次提出“云计算”(CloudComputing)概念。2006年之前谷歌发表了3篇经典的论文,分别介绍了谷歌的分
*2006年8月9日,谷歌首席执行官埃里克·施密特在搜索引擎大会上首次提出“云计算”(Cloud Computing)概念。
2006年之前谷歌发表了3篇经典的论文,分别介绍了谷歌的分布式文件系统GFS、分布式数据存储系统BigTable和分布式计算框架(MapReduce)。
分布式文件系统GFS
谷歌文件系统简称为GFS,文件大小可以达到TB级,甚至是数百TB。Hadoop的文件系统HDFS正是借鉴了GFS的思想,是它的开源实现。
分布式计算框架MapReduce
在处理海量(TB级以上)的数据时,如果想在一定的时间内完成工作,往往需要将这些计算分布在成百上千台主机上,让计算任务并行执行,来加快处理效率。
MapReduce把对数据的操作都简化成两个简单运算,一个叫“Map”映射,另一个叫“Reduce”规约。我们编程时只需要考虑把计算分解成这两个简单运算,而不必关心如何处理上面提到的底层细节。
分布式数据存储系统BigTable
BigTable是一个分布式的结构化数据存储系统,它被设计用来查询和处理海量数据,通常是分布在数千台普通服务器上的TB甚至是PB级的数据。
Hadoop平台
Hadoop是开源组织Apache旗下的一个分布式计算平台,它的高容错性、高扩展性等优点可以让用户在普通廉价的硬件设备上搭建分布式系统,实现对集群的控制和管理。同时它提供了分布式基础架构,允许用户轻松快捷开发并行应用程序,实现海量数据的管理和分布式基础架构,而不需要关注底层的实现细节。
Hadoop框架最核心的设计就是HDFS和MapReduce。
随着业务发展以及业务需要的多样化,Hadoop相关的生态圈也越来越丰富,Hadoop下的Common、Avro、ZooKeeper、Hives、HBase、Sqoop等子项目提供 互补性服务或在核心层上提供了更高层的服务 。
Hadoop的核心
HDFS
MapReduce
Hadoop第一个版本存在着单点故障、小文件存储等一系列问题,另外从Hadoop的长远发展来看,MapReduce的JobTracker/TaskTracker机制需要大规模地调整来修复它的可扩展性、内存消耗、线程模型、可靠性和性能上的缺陷。
Hadoop2.0内核主要由3部分组成:HDFS、MapReduce和YARN。
YARN利用异步模型对MapReduce框架的一些关键逻辑结构(如JobInprogress、TaskInProgress等)进行了重写,相比于MRv1具有更快的计算速度。
Hadoop2.0支持多框架
Hadoop相关生态系统
产品 |
描述 |
HBase |
面向列的分布式数据库 |
ZooKeeper |
分布式协作服务 |
Hive |
适用于ETL,数据仓库 |
Sqoop |
关系数据ETL工具 |
Avro |
用于支持大批量数据交换的应用,数据序列化系统 |
Pig |
数据处理工具,在MapReduce上构建的查询语言(SQL-LIKE),适用于大量并行计算 |
Flume |
日志收集工具 |
Ambari |
集群监控与管理 |
Mathout |
一个机器学习和数据挖掘的库 |
Oozie |
工作流引擎 |
Hue |
Hadoop图形化界面 |
Chukwa |
基于Hadoop集群中监控系统,WatchDog |
ambari |
就是创建、管理、监视 Hadoop 的集群( Hive,Hbase,Sqoop,Zookeeper等) |
其它工具:
- Apache Flink:流式计算框架
- Whirr:一组静态库,让用户能够在Amazon EC2、Rackspace或任何虚拟基础架构之上构建Hadoop集群
- BigTop:一个正式的流程和框架,用于对Hadoop的子项目和相关组件进行打包和互操作性测试。
- Tableau Timeline:数据可视化工具,包括:Tableau Desktop,Tableau Server,Tableauonline,Tableau Public和Tableau Reader
Hadoop在各大公司的应用
- 微软
采用Hortonworks的HDP,构建了自己的Windows Azure HDInsight
- 亚马逊
弹性MapReduce服务EMR
- 阿里巴巴
云梯Hadoop,另外开发了自己的Hadoop——ADFS
- Facebook
- eBay
- Visa
Hadoop的发行版
- Cloudera CDH、Manager和Enterprice
CDH3U6 对应Apache Hadoop版本号为0.20.2,在生产环境使用比较多。
- Hortonworks 、 Data Platform
- MapR
- IBM InfoSphere BigInsights
- GreenPlum的Pivotal HD
- Amazon Elastic MapReduce(EMR)
- Windows Azure 、HDInsight