云计算、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报告状态和完成后的任务。

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
ElasticSearch入门 第八篇:存储
这是ElasticSearch 2.4 版本系列的第八篇: ElasticSearch入门 第一篇:Windows下安装ElasticSearch ElasticSearch入门 第二篇:集群配置 ElasticSearch入门 第三篇:索引 ElasticSearch入门 第四篇:使用C#添加和更新文档 ElasticSearch入门 第五篇:使用C#查询文档 ElasticSearch入门 第六篇:复合数据类型——数组,对象和嵌套 ElasticSearch入门 第七篇:分析器 ElasticSearch入门 第八篇:存储 ElasticSearch入门 第九篇:实现正则表达式查询的思路 在ElasticSearch 2.4版本中,文档存储的介质分为内存和硬盘:内存速度快,但是容量有限;硬盘速度较慢,但是容量很大。同时,ElasticSearch进程自身的运行也需要内存空间,必须保证ElasticSearch进程有充足的运行时内存。为了使ElasticSearch引擎达到最佳性能,必须合理分配有限的内存和硬盘资源。 一,倒排索引(Inverted Index) ElasticSe...
- 下一篇
和远哥一起了解Hadoop的MapReduce是如何运行的
Hadoop越来越火,而Hadoop里面有个核心的玩意,那就是MapReduce,它在Hadoop的并行计算中承担很重要的作用,也是在Hadoop下做程序开发时,必须要了解的,下面我们就MapRecude的一个简单例子WordCount来做一下深入的了解和分析。 先跟远哥一起先了解一下什么是MapReduce吧。 首先MapReduce它是两个英文单词组成的,Map表示映射,Reduce表示化简,它是一种编程模型,用于大规模数据集(大于1TB)的并行运算,主要思想来自函数式编程。 在Hadoop中,MapReduce过程分三个步骤:Map(主要是分解并行的任务)、Combine(主要是为了提高Reduce的效率)和Reduce(把处理后的结果再汇总起来)。 关于如何搭建Hadoop运行环境,可以阅读我的另外一篇博文:http://www.cnblogs.com/taven/archive/2012/08/12/2634145.html 好了,我们先看一下运行一个Hadoop作业的启动代码: Jobjob= newJob(conf,"wordcount"); job.setJar...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- Linux系统CentOS6、CentOS7手动修改IP地址
- CentOS7安装Docker,走上虚拟化容器引擎之路
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- SpringBoot2初体验,简单认识spring boot2并且搭建基础工程
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- SpringBoot2全家桶,快速入门学习开发网站教程
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- CentOS关闭SELinux安全模块