论坛首页 Java企业应用论坛

EC2 介绍(一)

浏览 3876 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2011-06-29   最后修改:2011-06-29

 

    话说NYT有一大票1851-1922年间扫描的1100万份文章,要从TIFF图档格式转换为PDF,由于数量实在太庞大,转换起来不但耗时甚久,也需要极大数量的机器。最后NYT的工程师将所有文档传到S3放着,然后到EC2开了100Instance,再装个Hadoop利用100台电脑跑分布运算,结果是只花了24小时和大约3000美金就搞定(由于处理速度实在太快,他们实际上还跑了两次)。
EC2介绍之一:EC2概述

    这是提起EC2的时候必然会提到的故事,因为这个故事足够有煽动性:如果按传统的方式,自己来处理分布式问题,那么广软件开发费用的增加都远远不止3000美元,更不用讲硬件的问题。这一堆硬件不买不行,买了以后呢好像就用了那么一回,也不是个事啊。这里就显出Hadoop+EC2的威力来了,这个也被称作是云计算。
    EC2是整个亚马逊Web Service的冰山一角,整个Amazon Web Service(简称AWS)的体系如下图所示:
EC2介绍之一:EC2概述
如上图所示,AWS分成以下几大部分:

         EC2(Elastic Compute Cloud)

         基础存储架构:Dynamo

         S3(Simple Storage Services)

         EBS(Elastic Block Storage)

         SDB(SimpleDB)

         弹性MapReduce

         CloudFront

         其他

    AWS的基础是Dynamo,它是一个分布式的存储系统,使用了DHT作为实现方式,这在后面会有比较详细的讨论。构筑与它之上的,是三个存储子系统,分别面向不同的上层应用。EBS主要面向EC2,S3则是直接面向最终用户,为最终用户提供存储服务,而SDB则是为一些应用提供简单数据库服务。
    由于本篇只涉及EC2相关的,因此重点的内容是EC2和与其相关的一些内容,对于其他的内容则不作太多的讨论。EC2的体系结构如下:
EC2介绍之一:EC2概述
这里面涉及几个概念,分别简单介绍如下:

         Amazon Machine Image (AMI),一个机器镜像,可以理解成像Ghost制作的操作系统的镜像文件。

         Instance 实例是指基于AMI上运行的系统,可以理解为一个在运行中的操作系统。或者可以称为虚机。

         EBSElastic Block Store)与S3不同,它是为EC2提供一个临时存储的服务,如果说S3相当于硬盘,那么EBS就相当于内存,一个Instance还回去以后EBS上的内容会丢失。(或者重启就会丢失?)

         Zone:Region ZoneAvailability Zone

 一个AMI镜像可以创建出很多个Instance,相当于一个模板可以有多个具体具体实现一样。每个Instance是一个操作系统,用户可以开很多Instance来做他需要做的事情。Instance里的东西会首先存到EBS上,如果需要永久存储,则选择S3.用户可以通过SSH登录到虚机里面,尽心一些配置等操作。由此可见,EC2只是提供了一个基本的基础设施,如果涉及用户应用的话要用户自己去上传管理。当然它也提供一些安装了某些软件的镜像,比如安装了Apache的,或者安装了Tomcat的虚机。但总的来讲,当涉及多台虚机进行分布式协作时,用户还需要做很多复杂繁琐的事情,需要把很多机器弄成集群,然后做一些负载均衡或者别的事情。除非直接使用它提供的Map/Reduce服务。

    我们来看一下一个实际使用EC2来部署应用的例子,见下图:
EC2介绍之一:EC2概述

   上面图中的蓝色圆角框代表虚机,也就是Amazon叫Instance的那个东西。他用多台虚机组成一个应用的集群(灰色框内),在这个集群的前端有一个HAProxy作为Load Balencer之用。另外他还用了数据库集群(分Master和Slave),同时在这台虚机上还安装了Memcache作为缓存服务器。而最终的数据都是持久化到S3中的。
   下面来看一下Amazon网站上的实际界面:


 
    可以看到它提供了很多种不同类别的AMI镜像,装了不同的软件的。可以看到一些热门的镜像和最新的镜像。实际操作的话可以从这个页面开始。
   因为回头要用SSH登录到虚机中去,所以需要创建密钥对,供SSH客户端使用。





 
   然后是配置安全组的问题。




 
    经过以上几步操作,实例成功运行了,接下来你就可以通过SSH登进系统做各种操作了。


 
(未完待续)
  • 大小: 31.4 KB
  • 大小: 26.6 KB
  • 大小: 28.8 KB
  • 大小: 43.8 KB
  • 大小: 65.6 KB
  • 大小: 60.5 KB
  • 大小: 121.8 KB
  • 大小: 52.8 KB
  • 大小: 29.6 KB
   发表时间:2011-06-29  
感觉找不到特别合适的地方放,发在这里可以吧?
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics