

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

# 選取和部署 Amazon EMR 叢集
<a name="select"></a>

識別和組織*節點類型*。當您定義 Amazon EMR 叢集時，請務必了解其硬體。其運作方式？ 如何撰寫？ 這些問題的答案包括三個部分：
+ 節點的類型
+ 每個節點承載的函數
+ 每個節點最有效率的 EC2 執行個體類型

最初，主要節點負責管理一般資源。它會執行分散式應用程式的主要元件。例如，它會執行 Hadoop 分散式檔案系統 (HDFS) NameNode 服務、追蹤要在叢集上完成的任務，以及監控系統的運作狀態。

此外，Amazon EMR 具有核心節點和任務節點。核心節點由主節點管理。核心節點會執行任務節點，並負責將資料儲存在叢集的 HDFS 中。任務節點負責管理 叢集的任務。任務節點不會儲存資料。（任務節點不是強制性的。)

當您設定和部署 Amazon EMR 叢集時，重要的考量是 EC2 執行個體的正確選擇，其將代表您的叢集節點。有數種方式可將 EC2 執行個體新增至叢集，取決於您使用的是叢集的執行個體群組組態或執行個體機群組態。如需支援執行個體類型的詳細資訊，請參閱 [AWS 文件](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-supported-instance-types.html)。

下列準則適用於大多數 [Amazon EMR 叢集](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-plan-ha-considerations.html)。您也可以檢閱[叢集組態最佳實務](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-plan-instances-guidelines.html)。

## 執行個體選取準則
<a name="instance-selection-guidelines"></a>

一般而言，Amazon EMR 實作偏好使用哪些執行個體，取決於您執行的任務。請考慮下列問題：
+ 您的任務記憶體是否密集？
+ 您的任務 CPU 是否密集？
+ 您需要大量儲存嗎？
+ 您的任務是否需要 GPU 容量？

這些問題將協助您了解所需的執行個體類型，以及所需的實際特性。決定您要同時處理的任務數量，以及您需要多快處理任務。這很重要，因為 Amazon EMR 用量是以每小時遞增計費。當您開啟叢集時，需支付整小時的費用。

您可以檢查在不同 AWS 區域中執行的每個執行個體的成本。若要比較區域之間的價格，您可以使用[AWS 定價計算器](https://calculator.aws/#/)，並根據位置變更值。

## 選取 EC2 執行個體
<a name="select-instances"></a>

當您已回答上述問題時，就可以根據這些要求選取執行個體。在您了解處理任務的需求之後，請根據您需要的特性來判斷執行個體類型：
+ 如果您需要一般用途執行個體，請選擇 **M6g**、**T4g** 或 **M5** 執行個體。
+ 如果您需要運算最佳化執行個體，請選擇 **C6g** 或 **C5** 執行個體。
+ 如果您需要記憶體最佳化執行個體，請選擇 **R6g**、**X1**、**R5** 或 **z1d** 執行個體。
+ 如果您必須最佳化儲存，請選擇 I**I3**執行個體，以提供高 I/O 效能。
+ 如果您需要 GPU 等加速運算，請選擇 **P3**、**G4** 或 **Inf1** 執行個體。這些執行個體類型可為機器學習和流體動態以及其他程序提供高效能。

了解執行個體類型及其功能的另一種方法是分析每個執行個體類型的[預設記憶體](https://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-hadoop-task-config.html#emr-hadoop-task-config-m6g)。此指標可協助您調校和改善 MapReduce 任務的效能。如需詳細資訊，請參閱 [Hadoop 協助程式組態設定](https://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-hadoop-daemons.html)。

當您知道所需的執行個體類型時，您可以規劃叢集容量。