基于AWS搭建分布式计算环境

来源:互联网 发布:android获取xml数据 编辑:程序博客网 时间:2024/06/05 08:24

本文介绍通过 AWS 管理控制台创建示例 Amazon EMR 集群的流程。然后,您将以步骤形式运行 Hive 脚本,以处理存储在 Amazon S3 中的示例数据。

1.设置示例集群的先决条件

1) 创建 Amazon S3 存储桶

Amazon S3 中的每个数据元都存储在存储桶中。必须先创建一个存储桶,然后才能在 Amazon S3 中存储数据。

Tips:
只有将对象存储到存储桶中以及向存储桶传入对象/从存储桶传出对象时才需要付费。

首先登录Console,打开 Amazon S3 控制,单击CreateBucket
这里写图片描述

在“创建存储桶”对话框中,请在“存储桶名称”框中输入存储桶名称。

Tips:
所选的存储桶名称在 Amazon S3 的所有现有存储桶名称中必须具有唯一性。确保唯一性的一种办法是以您所在的组织的名称作为您的存储桶名称的前缀。

存储桶创建后,便无法再更改名称。此外,存储桶名称会显示在指向存储桶中存储的数据元的 URL 中。请确保选择适当的存储桶名称。

在“Region”框中,选择一个地区

Tips:
您可以选择一个地区来优化延迟、最小化成本或满足法规要求。数据元一旦存储在某一地区,便不会离开,除非您特意将其传输到另一地区。

单击 Create,Amazon S3 成功创建存储桶后,控制台的 Buckets (存储桶) 面板中将显示空存储桶。
这里写图片描述

使用 Amazon S3 存储桶存储日志文件和输出数据。为符合 Hadoop 要求,用于 Amazon EMR 的 S3 存储桶名称具有以下限制条件:

  • 只能包含小写字母、数字、句点 (.) 和连字符 (-)
  • 不能以数字结尾。

2)创建 Amazon EC2 密钥对

必须拥有 EC2 密钥对才能使用SSH 协议通过安全通道连接集群中的节点。
首先打开 Amazon EC2 控制台,从导航栏中,选择密钥对区域
在导航窗格中的 NETWORK & SECURITY 下,选择 Key Pairs。

Tip
导航窗格位于控制台的左侧。如果您看不到窗格,它可能被最小化了;单击箭头扩展窗格。
选择 Create Key Pair。

在 Create Key Pair 对话框的 Key pair name 字段中输入新密钥对的名称,然后选择 Create。

2.启动集群

登录 AWS 管理控制台 并通过以下网址打开 Amazon EMR 控制台:https://console.aws.amazon.com/elasticmapreduce/。
1)选择 Create cluster。

2)在 Quick cluster configuration 页面上,接受默认值,但以下字段除外:

3)对于 S3 folder,请选择文件夹图标以选择您在 创建 Amazon S3 存储桶 中创建的 logs 文件夹的路径。
4)对于 EC2 key pair,选择您在创建 Amazon EC2 密钥对中创建的密钥对。
5)选择 Create cluster。

3.准备示例数据和脚本

4.通过运行 Hive 脚本来处理您的示例数据

在 Amazon EMR 控制台中以步骤形式在您的集群中运行 Hive 脚本以处理示例数据。在 Amazon EMR 中,步骤 是包含一个或多个 Hadoop 作业的工作单元。您可以在创建集群或集群正在运行(如果它是长时间运行的集群)时提交步骤。

以步骤的形式提交 Hive 脚本

通过控制台使用 Add Step 选项可向集群提交 Hive 脚本。脚本使用的 Hive 脚本和示例数据已为您上传到 Amazon S3。

Tips:
在运行脚本之前,您必须拥有创建 Amazon S3 存储桶中所述的 Amazon S3 存储桶和 output 文件夹。

1)打开 Amazon EMR 控制台 。

2)在 Cluster List 中,选择您的集群的名称。

3)滚动到 Steps 部分并展开它,然后选择 Add step。

4)在 Add step 对话框中:

  • 对于 Step type,选择 Hive program。
  • 对于 Name,接受默认名称 (Hive program) 或键入新名称。
  • 对于 Script S3 location,键入
    s3://region.elasticmapreduce.samples/cloudfront/code/Hive_CloudFront.q

  • 对于 Output S3 location,键入或浏览到您在 创建 Amazon S3 存储桶 中创建的 output 存储桶。

  • 对于 Arguments,将该字段保留为空白。
  • 对于 Action on failure,接受默认选项 Continue。
  • 选择 Add。步骤会出现在控制台中,其状态为 Pending。

查看结果

步骤成功完成之后,Hive 脚本生成的查询输出会存储在您在提交步骤时指定的 Amazon S3 输出文件夹中。

  • 打开 Amazon S3 控制台

  • 在 Amazon S3 控制台中,选择您用于存储输出数据的存储桶;例如,s3://myemrbucket/

  • 选择 output 文件夹。

  • 查询会将结果写入单独的文件夹中。选择 os_requests。

  • Hive 查询结果存储在一个文本文件中。要下载该文件,请右键单击它,选择 Download,打开 Download 的上下文菜单(右键单击),选择 Save Link As,然后将文件保存到合适的位置。
    用文本编辑器(如 WordPad (Windows)、TextEdit (Mac OS) 或 gEdit (Linux))打开该文件。在输出文件中,可以看到操作系统的访问请求数。

5.重置环境

删除 Amazon S3 存储桶

您无法删除内含项目的 Amazon S3 存储桶。首先,删除 logs 和 output 文件夹,然后删除存储桶。

终止示例集群

终止集群会终止关联的 Amazon EC2 实例并停止 Amazon EMR 费用的累计。Amazon EMR 免费保存已完成集群的相关元数据信息两个月,以用作参考。控制台不提供将完成的集群从控制台删除的方法;这些集群会在两个月后自动移除。

  • 打开 Amazon EMR 控制台

  • 在 Cluster List 页面上,选择您的集群,然后选择 Terminate。

  • 默认情况下,启动用控制台创建的集群时会启用终止保护,因此,您必须禁用它。在 Terminate clusters 对话框中,对于 Termination protection,选择 Change。

  • 选择 Off,然后确认更改。

  • 选择 Terminate。

0 0
原创粉丝点击