E-MapReduce Service

E-MapReduce 是構建於阿里雲 ECS 彈性虛擬機器之上,利用開源巨量資料生態系統,包括 Hadoop、Spark、HBase,為用戶提供叢集、作業、資料等管理的一站式巨量資料處理剖析服務。

立即購買 聯絡我們

E-MapReduce

阿里雲 Elastic MapReduce(E-MapReduce) 是執行在阿里雲平台上的一種巨量資料處理的系統解決方案。E-MapReduce 構建於阿里雲Elastic Compute Service 上,基於開源的 Apache Hadoop 和 Apache Spark,讓用戶可以方便地使用Hadoop和Spark生態系統中的其他周邊系統(如 Apache Hive、Apache Pig、HBase 等)來剖析和處理自己的資料。不僅如此,用戶還可以通過E-MapReduce將資料非常方便的匯入和匯出到阿里雲其他的雲資料存放區系統和資料庫系統中,如阿里雲 OSS、阿里雲 RDS 等。


優點

易用性

按照所選硬體機型(CPU、記憶體、磁碟),所選軟體群組和版本,進行自動化部署

成本

可以按需建立叢集,即離線作業執行結束就可以釋放叢集。可以動態在需要的時候增加節點。 也可以選擇訂用帳戶長期執行

深度整合

與阿里雲其他產品如 Object Storage Service,Message Service(MNS),雲資料庫(RDS) 等深度整合,作為 E-MapReduce 產品中 Hadoop/Spark 計算引擎的輸入來源或者輸出目的地

安全

整合阿里雲 RAM 資源權限管理系統,可以通過主子帳號對服務權限進行整合阿里雲 RAM 資源權限管理系統,可以通過主子帳號對服務權限進行隔離

產品功能

自動化按需建立叢集

  • 自由選擇機器設定(CPU,記憶體)和磁碟類型和容量

  • 自由選擇伺服器級別,包括 Master 和 Core 的數量

  • 根據商務量的上升可對叢集動態擴容

  • 自由選擇開源巨量資料生態軟體群組和版本,目前包括 Hadoop 和 Spark

  • 自由選擇啟動叢集的方式,分為臨時叢集和長時間執行叢集

支援豐富的作業類型

  • MapReduce:離線處理作業

  • Hive:關聯型剖析查詢作業

  • Pig:資料清洗,ETL 等指令碼或直譯式程式作業

  • Spark MLlib:基於 Spark 的機器學習服務作業

  • Spark GraphX:基於 Spark 的圖處理作業

  • Spark Streaming:基於 Spark 的線上/流式 作業

  • Spark SQL & DataFrames:基於 Spark 的資料科學互動式作業

  • Sqoop:資料轉送工具

  • Shell:Shell作業

靈活的作業執行計畫

  • 將作業(包括 Hadoop/Spark/Hive/Pig)任意群組成執行計畫

  • 執行計畫的執行原則有兩種,分為立即執行和定時周期執行


價格

E-MapReduce 產品的費用包含如下幾個部份:

ECS 產品的費用:

在購買 E-MapReduce 叢集的時候,阿里雲 ECS 會被自動購買,所以您不需要提前準備 ECS。如果您有 ECS 的優惠折扣,這裡購買的 ECS 同樣享有該 ECS 折扣。

E-MapReduce 產品的費用:

E-MapReduce 會提供叢集的多維度管理服務,包括網頁的閱聽與控制、Open API 與 SDK 的支援、監控報警、運維工具、服務端背景自動化運維等服務。

Master 節點的外網流量費用

建立完成的叢集會預設給 Master 節點開啟 8Mbps 的公網頻寬(對於 HA 叢集,2個 Master 都會有)。這個流量是隨用隨付的,並未包括在叢集的費用中。每小時扣費,僅單面收取流出流量費用,流入流量免費。例如您在 1 小時內公網流出流量為 10GB,收取費用為 10GB * 每 G 價格 美元 / 小時。每個 Region 的流量費略有不同,請參考網路價格資訊。

華東1,華東2,華北1,華南1

ECS實例類型CPUMEMORY (GB)包月 (美元/月)按量 (美元/小時)
ecs.s2.large2411.80.0564
ecs.s3.large4824.840.1144
ecs.m1.medium41638.040.1984
ecs.m1.xlarge83277.320.3992
ecs.c1.large81650.960.2304
ecs.c2.large1632103.160.462
ecs.c2.xlarge1664155.880.7996
ecs.n1.medium2411.960.0532
ecs.n1.large4825.160.1084
ecs.n1.xlarge81651.520.218
ecs.n1.3xlarge1632104.240.4376
ecs.n1.7xlarge3264209.680.8772
ecs.n2.large41638.080.162
ecs.n2.xlarge83277.40.326
ecs.n2.3xlarge16641560.6532
ecs.n2.7xlarge32128313.161.3084

新加坡

ECS實例類型CPUMEMORY (GB)包月 (美元/月)按量 (美元/小時)
ecs.s2.large24220.0428
ecs.s3.large4843.960.0856
ecs.m1.medium41661.520.1196
ecs.m1.xlarge832123.040.2388
ecs.c1.large81687.880.1708
ecs.c2.large1632175.760.3412
ecs.c2.xlarge1664n/an/a
ecs.n1.medium2424.440.0476
ecs.n1.large4848.840.0948
ecs.n1.xlarge81697.640.1896
ecs.n1.3xlarge1632195.280.3792
ecs.n1.7xlarge3264390.560.758
ecs.n2.large41668.360.1328
ecs.n2.xlarge832136.720.2656
ecs.n2.3xlarge1664273.40.5308
ecs.n2.7xlarge32128546.761.0612

美西1

ECS實例類型CPUMEMORY (GB)包月 (美元/月)按量 (美元/小時)
ecs.s2.large2418.680.0364
ecs.s3.large4822.960.0728
ecs.m1.medium41654.920.1068
ecs.m1.xlarge832109.840.2136
ecs.c1.large81647.120.1452
ecs.c2.large163295.440.29
ecs.c2.xlarge1664219.680.4264
ecs.n1.medium2420.760.0404
ecs.n1.large4841.520.0808
ecs.n1.xlarge816830.1612
ecs.n1.3xlarge16321660.3224
ecs.n1.7xlarge3264331.960.6444
ecs.n2.large41661.040.1188
ecs.n2.xlarge832122.040.2372
ecs.n2.3xlarge1664244.080.474
ecs.n2.7xlarge32128488.160.9476

使用場景

離線處理

E-MapReduce + OSS + ECS + HBase + ODPS + ApsaraDB for RDS + ApsaraDB for Redis

offline

剖析處理大量的套用日誌來進行用戶行為剖析,天氣預測等等。E-MapReduce可以從各種資料庫(關聯型,NoSQL)或者OSS讀取資料,然後使用MapReduce或者Apache Spark 或者 Apache hive 來剖析處理。剖析的結果可以被上傳到OSS,或者寫入到各種資料庫中,並被Web套用存取和使用。

Ad hoc 資料分析查詢

E-MapReduce + OSS + ODPS + RDS ( MySQL) + ApsaraDB for Redis + ECS (MongoDB)

adhoc

應對任何的臨時查詢任務,E-MapReduce 通過 Apache Zeppelin 和 Apache Hue 提供方便使用的 Web 介面來方便地執行 Hive 和 SparkSQL。臨時查詢使用的資料來源可以來自於任何資料來源,例如Mysql、MongoDB、Redis和OSS。

海量資料線上服務

E-MapReduce + ECS + ODPS + RDS ( MySQL) + ApsaraDB for Redis

onlineservice

從離線處理得到的資料,或者是串流的資料,都可以被儲存在基於 HDFS 的 HBase 上,然後被控制台或者是 Web 應用程式直接線上存取。

流式資料處理

E-MapReduce + OSS + Log Service + MNS + RDS ( MySQL) + ApsaraDB for Redis

streaming

E-MapReduce 能夠方便的接收流式資料來源的資料,例如Log Service、Message Service、Flume 和 Kafka,然後使用 Spark Streaming 或者 Storm 來進行處理,並將結果寫入到各種類型的資料存放區中,例如 HDFS、OSS、Mysql、MongoDB、Redis。


使用入門

通過管理主控台使用阿里雲 E-MapReduce

阿里雲管理主控台提供簡單的基於 Web 的使用者介面,您可以利用它存取和設定阿里雲E-MapReduce。

您可以使用該主控台對E-MapReduce的相關元件進行建立、查看和管理。

前往E-MapReduce主控台

有關如何通過管理主控台建立和使用阿里雲E-MapReduce,請參閱:

快速建立E-MapReduce

存取阿里雲文件

要建立阿里雲E-MapReduce,請參閱E-MapReduce文件以詳細了解阿里雲E-MapReduce的工作原理以及如何修改和管理E-MapReduce。

E-MapReduce文件

阿里雲 E-MapReduce API 參考

您可以使用基於 Web 的阿里雲API ,通過編程建立、管理阿里雲E- MapReduce 中的資源,並實現更好的掌控力。

API文件

資源

這些資源可以說明您了解阿里雲Express Connect的工作原理。

以下是相關資源的連結。

開發人員資源

通過以下連結,您可以查看進階功能、文件等。這些連結可以說明開發人員將阿里雲Express Connect與其現有套用進行整合或改進設定。

常見問題

1. 如何查看作業日誌

在E-MapReduce系統裡,系統已經將作業作業記錄按照jobid的規划上傳到OSS中(路徑由用戶在建立叢集時設定),用戶可以直接在網頁上點選查看作業日誌。如果用戶是登入到master機器進行作業提交和指令碼或直譯式程式執行等,則日誌根據用戶自己的指令碼或直譯式程式而定,用戶可以自行規劃。

2. 如何登入Core節點

1.首先在Master節點上切換到Hadoop帳號

su hadoop

2.然後即可免密碼ssh登入到對應的core節點

ssh emr-worker-1

3. 如何直接在OSS上查看日誌

用戶也可以直接從OSS上直接尋找所有的記錄檔,並下載。但是因為OSS不能直接查看,使用起來會比較麻煩一些。如果用戶開啟了日誌,並且指定了一個OSS的日誌置放,那麼作業的日誌要如何找到呢?例如對下面這個儲存置放OSS://mybucket/emr/spark

1.首先來到執行計畫的網頁,找到對應的執行計畫,點選“執行記錄”進入執行記錄網頁

2.在執行記錄網頁找到具體的哪一條執行記錄,比如最後的一條執行記錄。然後點選它對應的“執行叢集”查看這個執行叢集的ID

3.然後再OSS://mybucket/emr/spark目錄下尋找OSS://mybucket/emr/spark/叢集ID 這個目錄

4.在OSS://mybucket/emr/spark/叢集ID/jobs 目錄下會按照作業的執行ID存放多個目錄,每一個目錄下存放了這個作業的作業記錄檔案

4. E-MapReduce中能否查看作業的Worker上日誌?

以。前置條件:是建立叢集時發開“儲存日誌”選項。查看日誌置放:執行計畫清單->點選“執行記錄”->執行記錄->點選“查看作業清單”->作業清單->點選“查看作業Worker實例”。

5. Exception in thread “main” java.lang.RuntimeException: java.lang.ClassNotFoundException: Class com.aliyun.fs.oss.nat.NativeOssFileSystem not found

在Spark作業中讀寫OSS資料時,需要將E-MapReduce提供的SDK打進作業Jar包中,具體動作請參考:開發手冊->Spark->開發準備。

6. Spark SQL連RDS出現ConnectionException

檢查RDS資料庫位址是否為內網位址,如不是請在RDS主控台將相應的資料庫位址切換成內網位址

7. Spark SQL連RDS出現“Invalid authorization specification, message from server: ip not in whitelist”

檢查RDS的白名單設定,將叢集機器的內網位址加到RDS的白名單中。

8. 建立低設定機型叢集注意事項

若Master節點選擇2核4G機型,則Master節點記憶體非常吃緊,很容易造成實體記憶體不夠用,建議調大Master記憶體。 2. 若 Slave節點選擇2核4G機型,在執行MR作業或者Hive作業時,請調節參數。MR作業新增參數-D yarn.app.mapreduce.am.resource.mb=1024;Hive作業設定參數 set yarn.app.mapreduce.am.resource.mb=1024; 避免作業hang住。