云计算概论-Hadoop 2.0主流开源云架构
Hadoop 2.0简述
Hadoop 2.0由来
自从云计算的概念被提出,不断地有IT厂商推出自己的云计算平台,但它们都是商业性平台,对于想要继续研究和发展云计算技术的个人和科研团体来说,无法获得更多的了解,Hadoop的出现给研究者带来了希望。
据不完全统计,全球数据总量在201 1年就达到了2.1ZB, IDC更是预计2020年全球数据总量将超过40ZB (即40万亿GB),这相当于全球每人平均拥有5TB的数据量。大数据对存储和计算带来了巨大的挑战。
由于技术和实践的发展,Hadoop本身也在发展并完善,工业界称Hadoop 1.X及其以前的版本(0.23.X除外)为Hadoop 1.0,称Hadoop 2.X及其以后版本为Hadoop 2.0。
- 将Hadoop 2.0部署至集群后,通过调用Hadoop 2.0程序库,能够用简单的编程模型来处理分布在不同机器上的大规模数据集。
- 由于采用客户-服务器模式,Hadoop 2.0很容易从一台机器扩展至成千上万台机器,并且每台机器都能提供本地计算存储和本地计算。
- 考虑到集群中每台机器都可能会出问题(如硬件失效), Hadoop 2.0本身从设计上就在程序层规避了这些问题。
Hadoop至少应当包含分布式存储和分布式计算两个模块,下面给出Hadoop1.0项目模块。
- Hadoop Common:联系HDFS和MapReduce的纽带,它一方面为另外两组件提供一些公用jar包,另一方面也是程序员访问其他两模块的接口。
- HDFS:Hadoop的分布式文件系统。主要提供分布式存储服务。
- Hadoop MapReduce:分布式计算框架。主要负责资源管理、任务调度和MapReduce算法实现。
Hadoop 2.0相关项目
Google云计算组件和Hadoop及其相关项目之间的对应关系:
虽然Hadoop项目从Google云计算发展而来,但Hadoop及其相关项目并不拘泥于Google云计算。
近几年工业界围绕Hadoop进行了大量的外围产品开发,下图描述了各个产品项目之间的层次关系。
Hadoop 2.0生态圈概况
Hadoop应用
- 构建大型分布式集群:Hadoop最直接的应用是构建分布式集群,提供海量存储和计算服务,像国内的中国移动“大云”、淘宝“云梯”等,都已是大型甚至超大型分布式集群。
- 很多公司的log日志文件、其它半结构化业务数据并不适合存入关系型数据库,却特别适合存入半结构化的HDFS,然后应用其他工具(如Hive、 Hbase)提供报表查询之类的服务。
- 数据挖掘:大数据环境下的数据挖掘。