針對成本和規模最佳化 Amazon EMR 叢集

EC2 Spot 執行個體和 Amazon EMR

Amazon EMR 提供受管的 Hadoop 框架,讓您以輕鬆、快速且經濟實惠的方式,在動態可擴展的 Amazon EC2 執行個體之間處理大量資料。您也可以執行其他常用的分散式架構 (例如 EMR 中的 Apache SparkHBasePrestoFlink),並與其他 AWS 資料存放區 (例如 Amazon S3 和 Amazon DynamoDB) 中的資料進行互動。EMR Notebooks 以流行的 Jupyter Notebook 為基礎,為臨時查詢和探索分析提供開發和協作環境。EMR 能夠安全可靠地處理各式各樣的大數據使用案例,包括日誌分析、Web 索引、資料轉換 (ETL)、機器學習、財務分析、科學模擬和生物資訊學。

Amazon EC2 Spot 執行個體可提供 AWS 雲端中的備用運算容量,相較於隨需價格折扣更高。當 EC2 需要收回容量時,EC2 可以中斷 Spot 執行個體並隨附兩分鐘的通知。您可以將 Spot 執行個體用於各種容錯和靈活的應用程式。例如分析、容器化工作負載、高效能運算 (HPC)、無狀態 Web 伺服器、渲染、CI/CD,以及其他測試和開發工作負載。

在本教學中,您將了解如何使用「建立叢集」精靈,在 Amazon EC2 Spot 執行個體上啟動您的首個 Amazon EMR 叢集。在 Spot 執行個體上執行 Amazon EMR 可極大降低大數據的成本,顯著提高運算能力,並減少處理大數據集的時間。

關於本教學
時間 10-20 分鐘      
費用 免費
使用案例 運算
產品 Amazon EMR、EC2 Spot 執行個體
等級 200
上次更新日期 2020 年 2 月 4 日

步驟 1:使用進階選項建立叢集

1.1 - 開啟瀏覽器並導覽至 Amazon EMR 主控台,或者您可以搜尋 EMR,或在主控台登陸頁面的分析區段下找到 Amazon EMR。如果您已有 AWS 帳戶,請登入主控台。否則,請建立新的 AWS 帳戶來開始使用。

已經有帳戶了嗎? 登入您的帳戶

1.2 - 在右上角選取您希望啟動 Amazon EMR 叢集的區域

1.3 - 在 Amazon EMR 視窗中,按一下建立叢集

1.4 - 在建立叢集視窗中,按一下移至進階選項

步驟 2:設定叢集軟體和步驟

2.1 - 在軟體組態區段中,選取叢集所需的軟體,或保留預設選項以快速入門。

2.2 - 可選擇輸入任何所需的組態資訊,以便與 AWS Glue 資料型錄,以及設定叢集軟體時您想要使用的任何組態檔案建立連線。

停用選項使用多個主節點來提高叢集可用性,因為該選項與執行個體機群不相容,我們將在後續步驟中對其進行設定。

2.3 - 可選擇設定您想要叢集在佈建後執行的所有步驟,或者略過此步驟,以快速示範如何啟動叢集。

您可以使用 Amazon EMR 步驟,將工作提交至 EMR 叢集上安裝的 Spark 框架。如需詳細資訊,請參閱 Amazon EMR 管理指南中的步驟。在主控台和 CLI 中,使用 Spark 應用程式步驟執行此操作,這會代您執行 spark-submit 指令碼。藉助 API,您可以透過一個步驟來使用 command-runner.jar 叫用 spark-submit。

2.4 - 快速檢閱軟體組態後,即可繼續下一步並設定叢集硬體。

按一下下一步繼續。

步驟 3:設定執行個體機群

3.1 - 在執行個體群組設定區段下選取執行個體機群

執行個體機群讓我們能夠實作執行個體多樣化,這是利用 EC2 Spot 執行個體時的關鍵最佳實務。執行個體多樣化讓您能夠使用多種執行個體類型,以確保 Amazon EMR 可以分配叢集所需的所有容量,同時自動處理中斷。

3.2 - 選取要在其中部署 Amazon EMR 叢集的 VPC 以及一個或多個子網路

我們建議選擇多個可用區域。您的叢集仍將部署於單一可用區域,但選取多個可用區域可讓 Amazon EMR 跨所有選定可用區域查看,以便部署 EC2 Spot 容量最大的可用區域中的叢集,來執行您的叢集。

3.3 - 視需設定根裝置 EBS 磁碟區大小,或將其保留為預設值以繼續。

3.4 - 向下捲動至任務執行個體機群區段,然後選取新增/移除執行個體類型至機群

執行個體機群可讓您為每個機群指定最多五種執行個體類型,以便 Amazon EMR 可以從多個可用 EC2 Spot 容量集區中佈建容量。

我們建議針對主節點和核心節點使用隨需執行個體,除非您要啟動臨時性工作負載。

您可以進一步了解有關典型使用案例的資訊,並在這裡檢閱有關將 EC2 Spot 執行個體與 Amazon EMR 結合使用的建議。

3.5 - 選取最多五種執行個體類型,以在您的任務節點執行個體機群中使用。您應考慮跨多個執行個體系列的 vcpu 與記憶體比率類似的執行個體類型。

您可以使用 Spot Instance Advisor,進一步了解有關 EMR 相容執行個體的平均成本節省和中斷率方面的資訊。 

3.6 - 設定執行個體機群的隨需和 Spot 單元,可以選擇設定每種執行個體類型的單元。

增加隨需單元和 Spot 單元的數目,這可確定為叢集佈建多少容量。為了快速入門並降低此演練的成本,建議您僅部署少量 Spot 單元 (例如 8 個),而非部署隨需單元。

依預設,每種執行個體類型的單元數將與該執行個體類型的 vCore 數相符。您可以視需設定,賦予不同執行個體類型更多權重,當 Amazon EMR 滿足您的執行個體機群容量時,將考慮到這一點。

您還可以指定隨需執行個體或 EC2 Spot 執行個體要滿足的單元數。這允許您組合多種執行個體類型和購買選項,來實現執行個體多樣化以及叢集所需的容量。

3.7 - 可選擇針對叢集設定定義的持續時間佈建逾時行為。

如果 Amazon EMR 無法針對您的執行個體機群佈建容量,佈建逾時可讓您定義叢集的行為。預設行為是終止;然而,如果超過逾時,您可以選取讓叢集嘗試佈建隨需執行個體,而非 Spot 執行個體。

您可以在這裡進一步了解有關這些選項的詳細資訊。

3.8 - 快速檢閱硬體組態後,即可繼續下一步並設定叢集的一般叢集設定。

按一下下一步繼續。

步驟 4:一般叢集設定

4.1 - 為您的叢集指定名稱,或者接受預設名稱我的叢集以繼續。

您可以選擇設定日誌記錄偵錯終止保護。 

您可以在這裡進一步了解有關日誌記錄偵錯的資訊。

您可以在這裡進一步了解有關終止保護的資訊。

4.2 - 可選擇為叢集設定任何相關標籤。標籤可用於識別哪個團隊擁有您要建立的叢集,或者它屬於哪個環境。

您可以在這裡進一步了解標籤功能。
 

4.3 - 可選擇為您的叢集設定所需的任何其他選項,例如 EMRFS 一致性檢視、自訂 AMI ID 或 Bootstrap 操作。

4.4 - 快速瀏覽一般叢集組態後,即可繼續下一步並進行叢集安全設定。

按一下下一步繼續。 

步驟 5:安全性

5.1 - (可選) 為叢集設定任何必要的安全組態,包括金鑰對、執行個體角色和描述檔、安全群組和加密。

5.2 - 快速檢閱叢集安全組態後,即可建立叢集。

按一下建立叢集以啟動執行 EC2 Spot 執行個體的新 Amazon EMR 叢集。

恭喜

您現已在 EC2 Spot 執行個體上啟動 Amazon EMR 叢集。現在,您可以將 Spot 執行個體整合至 EMR 叢集,並開始針對成本和效能最佳化大數據工作負載。

本教學對您有幫助嗎?

感謝您
請告訴我們您喜歡的部分。
抱歉,讓您失望
是有內容過時、令人困擾,或不準確嗎? 請提供意見回饋,協助我們改進此教學課程。

使用 EMR 執行 Spark 應用程式

現在,您已了解如何將 EC2 Spot 執行個體與 Amazon EMR 結合使用,隨時實作執行個體機群,並且將其他最佳實務運用於自己的工作負載中。如果您想繼續學習,我們建議您參加這裡的自主進度講習班。

閱讀文件

閱讀 Amazon EMR 管理指南,了解 Amazon EMR 的功能與能力。

探索 Amazon EC2 Spot 執行個體

如果您想進一步了解有關 Amazon EC2 Spot 執行個體的資訊,請瀏覽 Amazon EC2 Spot 執行個體產品頁面,以探索文件、影片、部落格等。