云计算、Amazon EC2、Hadoop简介

近来云计算越来越热门了,云计算已经被看作 IT 业的新趋势。云计算可以粗略地定义为使用自己环境之外的某一服务提供的可伸缩计算资源,并按使用量付费。可以通过 Internet 访问 “云” 中的任何资源,而不需要担心计算能力、带宽、存储、安全性和可靠性等问题。

  先要介绍一下云计算系统的结构。图 1 显示云计算的各个层以及现有的一些服务。

 

 

 

  基础设施即服务(Infrastructure-as-a-service, IaaS)是指以服务的形式租借基础设施(计算资源和存储)。IaaS让用户可以租借计算机(即虚拟机)和数据中心,可以指定特定的服务质量约束,比如可以运行某些操作系统和软件。Amazon EC2在这层中作为IaaS,向用户提供虚拟主机。

  平台即服务(Platform-as-a-Service, PaaS)主要关注软件架构或服务,提供在基础设施中进行“云”计算所用的API。Apache Hadoop 作为PaaS,它构建在虚拟主机上,提供云计算平台。



Amazon EC2

  Amazon EC2 是一个Web服务,它允许用户请求具有各种资源(CPU,磁盘,内存等)的虚拟主机。用户只需按使用的计算时间付费,其它事情全部交给Amazon处理。

  这些实例(Amazon Machine Image, AMI)基于Linux,可以运行您所需要的任何应用程序和软件。在从Amazon租借主机之后,可以像对待物理主机一样使用一般的SSH工具设置连接和维护主机。

  部署Hadoop云计算框架的最好方法是把它全部部署在AMI上,这样可以利用云资源,不需要考虑计算能力,带宽,存储等问题。

  对EC2的详细内容可以参考如下链接:http://www.ibm.com/developerworks/cn/web/ar-cloudaws3/



Apache Hadoop

MapReduce

  Apache Hadoop 是一个软件框架(平台),它可以分布式的操纵大量数据。它出现于2006年,由Google、Yahoo、IBM等公司支持。可以认为它是一种PaaS模型。

  它的设计核心是MapReduce实现和HDFS(Hadoop Distributed File System),它们源自MapReduce(由一份Google文件引入)和Google File System。

  MapRedue是Google引入的一个软件框架,它支持在计算机(即节点)集群上对大型数据集进行分布式计算。它由两个部分组成:映射(Map)和缩减(Reduce)。

  在映射过程中,主节点接收输入,把输入分割成更小的子任务,然后把这些子任务分配到工作节点上。

  工作节点处理这些小任务,把结果返回给主节点。

  然后在缩减过程中,主节点把所有子任务的结果组合成输出,这就是原任务的结果。图2 说明了MapReduce流程的概念。

  MapReduce 的优点是它允许对映射和缩减操作进行分布式处理。因为每个映射操作都是独立的,所有映射都可并行执行,这会减少总的计算时间。

集群的概念视图

HDFS

  从最终用户的角度看,HDFS就像是传统的文件系统一样。可以使用目录路径对文件进行CRUD操作。但是,由于分布式存储的性质,有“NameNode”和“DataNode”的概念,它们承担各自的责任。

  NameNode 是 DataNode 的主节点。它在HDFS中提供元数据服务。元数据说明DataNode的文件映射。它还接收操作命令并决定哪些DataNode应该执行操作和复制。

  DataNode 作为HDFS的存储块。还响应从NameNode接收的块创建、删除、复制等命令。

  对HDFS的完整介绍可以参考官方网站。

JobTracker 和 TaskTracker

  在提交应用程序时,应该提供包含在HDFS中的输入目录和输入目录。JobTracker作为启动MapReduce应用程序的单一控制点,它决定应该创建多少个TaskTracker和子任务,然后把每个子任务分配给TaskTracker。每个TaskTracker向JobTracker报告状态和完成后的任务。


 

优秀的个人博客,低调大师

微信关注我们

原文链接:https://yq.aliyun.com/articles/206444

转载内容版权归作者及来源网站所有!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

相关文章

发表评论

资源下载

更多资源
优质分享Android(本站安卓app)

优质分享Android(本站安卓app)

近一个月的开发和优化,本站点的第一个app全新上线。该app采用极致压缩,本体才4.36MB。系统里面做了大量数据访问、缓存优化。方便用户在手机上查看文章。后续会推出HarmonyOS的适配版本。

Oracle Database,又名Oracle RDBMS

Oracle Database,又名Oracle RDBMS

Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。它是一种高效率、可靠性好的、适应高吞吐量的数据库方案。

Apache Tomcat7、8、9(Java Web服务器)

Apache Tomcat7、8、9(Java Web服务器)

Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。

Sublime Text 一个代码编辑器

Sublime Text 一个代码编辑器

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。