使用 Amazon EMR 构建二进制文件 - Amazon EMR
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

使用 Amazon EMR 构建二进制文件

您可以使用 Amazon EMR 作为构建环境,以编译用于您的集群的程序。在 Amazon EMR 中使用的程序必须在运行 Linux 的系统上进行编译且 Linux 版本与 Amazon EMR 所用的相同。对于 32 位版本,您应在 32 位机器上或在打开 32 位交叉编译选项的情况下进行编译。对于 64 位版本,您需要在 64 位机器上编译或打开 64 位交叉编译选项。有关 EC2 实例版本的更多信息,请参阅《Amazon EMR 管理指南》中的计划和配置 EC2 实例。支持的编程语言包括 C++、Python 和 C#。

下表概览了使用 Amazon EMR 构建和测试您的应用程序所涉及的步骤。

1 连接到集群的主节点。
2 将源文件复制到主节点。
3 使用任何必要的优化方法构建二进制文件。
4 将二进制文件从主节点复制到 Amazon S3。

每个步骤的详细信息请参阅下面的部分。

连接到集群的主节点
将源文件复制到主节点。
  1. 将源文件置于 Amazon S3 存储桶中。要了解如何创建存储桶以及如何将数据移至 Amazon S3,请参阅《Amazon Simple Storage Service 用户指南》

  2. 通过输入类似于以下内容的命令,为您的源文件在 Hadoop 集群上创建文件夹:

    mkdir SourceFiles
  3. 通过键入类似以下内容的命令,将您的源文件从 Amazon S3 复制到主节点:

    hadoop fs -get s3://mybucket/SourceFiles SourceFiles
使用任何必要的优化构建二进制文件

构建二进制文件的方式取决于多种因素。请按照具体构建工具的说明,设置和配置您的环境。您可以使用 Hadoop 系统规范命令获取集群信息,以确定如何安装您的构建环境。

识别系统规范
  • 使用以下命令验证用于构建二进制文件的架构。

    1. 要查看 Debian 版本,请输入以下命令:

      master$ cat /etc/issue

      该输出值看上去类似于以下内容。

      Debian GNU/Linux 5.0
    2. 要查看公有 DNS 名称和处理器大小,请输入以下命令:

      master$ uname -a

      该输出值看上去类似于以下内容。

      Linux domU-12-31-39-17-29-39.compute-1.internal 2.6.21.7-2.fc8xen #1 SMP Fri Feb 15 12:34:28 EST 2008 x86_64 GNU/Linux
    3. 要查看处理器速度,请输入以下命令:

      master$ cat /proc/cpuinfo

      该输出值看上去类似于以下内容。

      processor : 0 vendor_id : GenuineIntel model name : Intel(R) Xeon(R) CPU E5430 @ 2.66GHz flags : fpu tsc msr pae mce cx8 apic mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm syscall nx lm constant_tsc pni monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr cda lahf_lm ...

构建了二进制文件后,您就可以将文件复制到 Amazon S3。

将二进制文件从主节点复制到 Amazon S3
  • 键入以下命令以将二进制文件复制到 Amazon S3 存储桶:

    hadoop fs -put BinaryFiles s3://mybucket/BinaryDestination