

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 使用 Amazon EMR 建置二進位檔
<a name="emr-build-binaries"></a>

您可以使用 Amazon EMR 作為建置環境，以編譯要用於叢集內的程式。與 Amazon EMR 搭配使用的程式，必須在執行 Amazon EMR 所用相同 Linux 版本的系統上進行編譯。若為 32 位元版本，應在 32 位元的裝置上編譯，或開啟 32 位元的跨編譯選項。若為 64 位元版本，則需在 64 位元的裝置上編譯，或開啟 64 位元的跨編譯選項。如需有關 EC2 執行個體版本的詳細資訊，請參閱《Amazon EMR 管理指南》**中的[規劃與設定 EC2 執行個體](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-plan-ec2-instances.html)。支援的程式設計語言包含 C\$1\$1、Python 及 C\$1。

下表概略列出了使用 Amazon EMR 建置和測試應用程式所需的步驟。


**模組建置流程**  

|  |  | 
| --- |--- |
|  1 |  連接至您的叢集主節點。 | 
|  2  |  複製來源檔案到主節點。 | 
|  3  |  建置二進位檔並進行必要的最佳化。 | 
|  4 |  將二進位檔從主節點複製到 Amazon S3。 | 

各步驟的詳細資訊請見以下幾節。

**連接至叢集主節點**
+ 請按《Amazon EMR 管理指南》**中的[使用 SSH 連線至主節點](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-connect-master-node-ssh.html)的說明執行操作。

**複製來源檔案到主節點**

1. 將來源檔案置於 Amazon S3 儲存貯體內。若要了解如何建立 儲存貯體和如何將資料移至 Amazon S3，請參閱《Amazon Simple Storage Service 使用者指南》[https://docs.aws.amazon.com/AmazonS3/latest/userguide/](https://docs.aws.amazon.com/AmazonS3/latest/userguide/)。

1. 輸入類似以下內容的命令，在 Hadoop 叢集上建立一個來源檔案專用的資料夾：

   ```
   mkdir SourceFiles
   ```

1. 輸入類似以下內容的命令，將來源檔案從 Amazon S3 複製到主節點：

   ```
   hadoop fs -get s3://amzn-s3-demo-bucket/SourceFiles SourceFiles
   ```

**建置二進位檔並進行必要的最佳化**  
建置二進位檔的方式取決於多種因素。請按照您所使用的特定建置工具的說明，開始建立和設定您的環境。您可以使用 Hadoop 系統規格的命令來取得叢集資訊，以判斷該如何安裝建置環境。

**辨識系統規格**
+ 請使用以下命令來確認您要用來建構二進位檔的架構。

  1. 若要查看 Debian 版本，請輸入以下命令：

     ```
     master$ cat /etc/issue
     ```

     輸出結果類似如下。

     ```
     Debian GNU/Linux 5.0
     ```

  1. 若要查看公有 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
     ```

  1. 若要查看處理器速度，請輸入以下命令：

     ```
     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://amzn-s3-demo-bucket/BinaryDestination
  ```