全部產品
Search
文件中心

E-MapReduce:快速建立和使用資料湖分析叢集

更新時間:Apr 16, 2025

本文為您介紹如何通過E-MapReduce(簡稱EMR)控制台,快速建立一個基於開源Hadoop生態的資料湖分析叢集,並通過叢集用戶端提交經典的WordCount作業。WordCount是Hadoop中最基礎且經典的分散式運算任務,用於統計海量文本中的單詞數量,廣泛應用於資料分析、資料採礦等情境。

操作概述

通過本快速入門,您將學會:

  • 如何快速建立一個資料湖分析叢集。

  • 如何通過叢集用戶端提交和運行WordCount作業。

  • 初步瞭解阿里雲EMR的核心功能和Hadoop生態的基本使用方法。

前提條件

  • 註冊阿里雲帳號,並完成實名認證。

  • 完成對E-MapReduce的服務帳號授予預設的EMR和ECS角色許可權,詳情請參見阿里雲帳號角色授權

注意事項

代碼的運行環境由所屬使用者負責管理和配置。

操作流程

步驟一:建立叢集

  1. 進入建立叢集頁面。

    1. 登入EMR on ECS控制台

    2. 在頂部功能表列處,根據實際情況選擇地區和資源群組。

      • 地區:建立的叢集會在對應的地區內,一旦建立不能修改。

      • 資源群組:預設顯示帳號全部資源。

    3. 單擊上方的建立叢集

  2. 在建立叢集頁面,完成叢集相關配置。

    配置地區

    配置項

    樣本

    描述

    軟體配置

    地區

    華東1(杭州)

    叢集節點ECS執行個體所在的物理位置。

    重要

    叢集建立後,無法更改地區,請謹慎選擇。

    業務情境

    資料湖

    選擇適合的業務情境,建立叢集時阿里雲EMR會自動為您配置預設的組件、服務和資源,以簡化叢集配置,並提供符合特定業務情境需求的叢集環境。

    產品版本

    EMR-5.18.1

    選擇最新的軟體版本。

    服務高可用

    不開啟

    預設不開啟。開啟服務高可用開關後,EMR會把Master節點分布在不同的底層硬體上以降低故障風險。

    可選服務

    HADOOP-COMMON、 OSS-HDFS、YARN、Hive、Spark3、Tez、Knox和OpenLDAP。

    根據您的實際需求選擇組件,被選中的組件會預設啟動相關的服務進程。

    說明

    如需通過控制台訪問Web UI介面,還需選擇Knox和OpenLDAP服務。

    允许采集服务运行日志

    開啟

    支援一鍵開啟或關閉所有服務的日誌採集。預設開啟,將收集您的服務作業記錄,這些日誌僅供叢集診斷使用。

    叢集建立後,您可以在基礎資訊頁面,修改服務作業記錄收集狀態

    重要

    關閉日誌採集後,EMR的健全狀態檢查和支援人員將受到限制,但其他功能仍可正常使用。如何關閉及影響詳情,請參見如何停止採集服務日誌?

    元数据

    內建MySQL

    表示中繼資料存放區在MySQL中。

    重要

    內建MySQL是一種快速搭建測試環境的方式,不建議在生產環境中使用。如果您正在規劃生產環境的中繼資料存放區方案,建議根據實際需求選擇自建RDS或者DLF統一中繼資料。

    集群存储根路径

    oss://******.cn-hangzhou.oss-dls.aliyuncs.com

    當您在可選服務地區選取項目了OSS-HDFS服務時,需要配置該參數,如果選擇的是HDFS服務,則無需配置該參數。

    說明
    • 在選擇使用OSS-HDFS服務之前,請確保您選擇的地區支援該服務。否則,您可以嘗試更換地區或使用HDFS服務替代OSS-HDFS服務。OSS-HDFS服務目前支援的地區資訊,請參見開通並授權訪問OSS-HDFS服務

    • EMR-5.12.1及後續版本,EMR-3.46.1及後續版本的DataLake、DataFlow、DataServing和Custom叢集,支援選擇OSS-HDFS服務。

    硬體設定

    付費類型

    隨用隨付

    在測試情境下,建議使用隨用隨付,測試正常後可以釋放該叢集,再建立一個訂用帳戶的生產叢集正式使用。

    可用性區域

    可用性區域 I

    叢集建立後,無法直接更改可用性區域,請謹慎選擇。

    專用網路

    vpc_Hangzhou/vpc-bp1f4epmkvncimpgs****

    選擇對應地區下的專用網路。如果沒有,單擊建立VPC前往建立。建立專用網路完成後,單擊重新整理,可以選擇剛建立的VPC。

    交換器

    vsw_i/vsw-bp1e2f5fhaplp0g6p****

    選擇在對應專用網路下可用性區域的交換器,如果在這個可用性區域沒有可用的交換器,則需要新建立一個。

    預設安全性群組

    sg_seurity/sg-bp1ddw7sm2risw****

    重要

    不支援使用ECS上建立的企業安全性群組。

    如果已有在使用的安全性群組,則可以直接選擇使用。您也可以建立一個安全性群組。

    節點群組

    開啟Master節點群組下的掛載公網開關,其餘使用預設值即可。

    您可以根據業務訴求,配置Master節點群組、Core節點群組或Task節點群組資訊。詳情請參見選擇硬體與網路

    基礎配置

    叢集名稱

    Emr-DataLake

    叢集的名字,長度限制為1~64個字元,僅可使用中文、字母、數字、短劃線(-)和底線(_)。

    身份憑證

    密碼。

    用於遠程登入叢集的Master節點。

    說明

    如果您希望在不輸入密碼的情況下進行身分識別驗證,可以選擇金鑰組方式,更多詳情請參見管理SSH金鑰組

    登入密碼確認密碼

    自訂密碼。

    請記錄該配置,登入叢集時您需要輸入該密碼。

  3. 單擊確認訂單

    在EMR on ECS頁面,當叢集狀態顯示為運行中時,表示叢集建立成功。更多叢集參數資訊,請參見建立叢集

步驟二:準備資料

叢集建立成功後,您可以使用叢集用戶端內預置的WordCount範例程式進行資料分析測試,也可以上傳並運行自行開發的巨量資料應用程式。本文將以運行預置的WordCount範例程式為例,指導您完成從資料準備到資料分析作業提交的完整流程。

  1. 通過SSH方式串連叢集,詳情請參見登入叢集

  2. 準備資料檔案。

    建立一個文字檔 wordcount.txt,作為WordCount的輸入資料,內容如下所示。

    hello world
    hello wordcount
  3. 上傳資料檔案。

    說明

    您可以根據實際情況將資料檔案上傳至叢集的HDFS或OSS/OSS-HDFS。本文以上傳至OSS-HDFS為例,如果是上傳至OSS,可以參見簡單上傳

    1. 執行以下命令,建立名為input的目錄。

      hadoop fs -mkdir oss://<yourBucketname>.cn-hangzhou.oss-dls.aliyuncs.com/input/
    2. 執行以下命令,將本地根目錄下的wordcount.txt檔案上傳至OSS-HDFS的input目錄。

      
      hadoop fs -put wordcount.txt oss://<yourBucketname>.cn-hangzhou.oss-dls.aliyuncs.com/input/

步驟三:提交作業

通過WordCount程式,您可以實現對文本資料中單詞出現頻率的統計分析。

執行以下命令,提交WordCount作業。

hadoop jar /opt/apps/HDFS/hadoop-3.2.1-1.2.16-alinux3/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.2.1.jar wordcount -D mapreduce.job.reduces=1 "oss://<yourBucketname>.cn-hangzhou.oss-dls.aliyuncs.com/input/wordcount.txt" "oss://<yourBucketname>.cn-hangzhou.oss-dls.aliyuncs.com/output/"

涉及參數說明如下所示。

參數

說明

/opt/apps/.../hadoop-mapreduce-examples-3.2.1.jar

該檔案是Hadoop內建的樣本程式包,包含了多個經典的MapReduce樣本程式。其中,hadoop-mapreduce-examples-3.2.1.jar為您叢集中對應的JAR包名稱,3.2.1為版本號碼。通常EMR-5.x系列叢集的版本號碼為3.2.1,如果您使用EMR-3.x系列叢集,則版本號碼為2.8.5。

-D mapreduce.job.reduces

用於設定MapReduce作業的Reducer數量。

預設情況下,Hadoop會根據輸入資料量自動決定Reducer的數量。如果未明確指定,可能會產生多個輸出檔案(如part-r-00000part-r-00001 等)。通過設定為1,可以確保最終只產生一個輸出檔案(part-r-00000)。

oss://<yourBucketname>.cn-hangzhou.oss-dls.aliyuncs.com/input/wordcount.txt

WordCount作業的輸入路徑。為前一個步驟中您上傳至OSS的資料檔案。其中,應替換<yourBucketname>為您的OSS儲存空間的Bucket名稱,cn-hangzhou為地區名稱。

oss://<yourBucketname>.cn-hangzhou.oss-dls.aliyuncs.com/output/

WordCount作業的輸出路徑,用於儲存作業的計算結果。

步驟四:查看結果

查看作業執行結果

您可以通過Hadoop Shell命令方式查看執行結果。

  1. 通過SSH方式串連叢集,詳情請參見登入叢集

  2. 執行以下命令,查看作業執行結果。

    hadoop fs -cat oss://<yourBucketname>.cn-hangzhou.oss-dls.aliyuncs.com/output/part-r-00000

    返回資訊如下所示。

    image

查看作業運行記錄

YARN是Hadoop的資源管理架構,負責調度和管理叢集上的任務。通過YARN UI,您可以查看作業的運行狀態和記錄,瞭解作業的執行過程。例如,查看作業狀態、任務詳情、日誌資訊、資源使用方式等。

  1. 開啟8443連接埠,詳情請參見管理安全性群組

  2. 新增使用者,詳情請參見OpenLDAP 使用者管理

    在使用Knox帳號訪問YARN UI頁面時,需要Knox帳號的使用者名稱和密碼。

  3. EMR on ECS頁面,單擊目的地組群所在行的叢集服務

  4. 單擊訪問連結與連接埠頁簽。

  5. 單擊YARN UI所在行的公網連結。

    使用使用者管理中的使用者身份資訊進行登入認證,即可進入YARN UI頁面。

  6. All Applications頁面,單擊目標作業的ID,可以查看作業啟動並執行詳情。

    Hadoop控制台

(可選)步驟五:釋放叢集

如果您建立的叢集不再使用時,可以釋放叢集節約成本。確認叢集釋放後,系統會對叢集進行如下處理:

  1. 強制終止叢集上的所有作業。

  2. 終止並釋放所有的ECS執行個體。

這個過程所需時間取決於叢集的大小,叢集越小釋放越快。通常在幾秒內可以完成釋放,至多不會超過5分鐘。

重要
  • 隨用隨付的叢集可以隨時釋放,訂用帳戶的叢集到期後才能釋放。

  • 釋放叢集前,請確保叢集狀態是初始化中、運行中或空閑。

  1. EMR on ECS頁面,選擇目的地組群所在行的more > 釋放

    您還可以單擊目的地組群的叢集名稱,然後在基礎資訊頁面,選擇右上方的全部操作 > 釋放

  2. 在彈出的對話方塊中單擊確定

相關文檔

常見問題

瞭解使用阿里雲EMR的常見問題