阿里云 Elastic MapReduce(E-MapReduce) 是運行在阿里云平臺上的一種大數(shù)據(jù)處理的系統(tǒng)解決方案。E-MapReduce 構(gòu)建于阿里云云服務器 ECS 上,基于開源的 Apache Hadoop 和 Apache Spark,讓用戶可以方便地使用Hadoop和Spark生態(tài)系統(tǒng)中的其他周邊系統(tǒng)(如 Apache Hive、Apache Pig、HBase 等)來分析和處理自己的數(shù)據(jù)。不僅如此,用戶還可以通過E-MapReduce將數(shù)據(jù)非常方便的導入和導出到阿里云其他的云數(shù)據(jù)存儲系統(tǒng)和數(shù)據(jù)庫系統(tǒng)中,如阿里云 OSS、阿里云 RDS 等。 E-MapReduce 的用途 當用戶想要使用 Hadoop、Spark 等分布式處理系統(tǒng)的時候,通常需要經(jīng)歷如下的步驟:
在這些流程中,真正跟用戶的應用邏輯相關(guān)的是從第8步才開始,第1-7步的各項工作都是前期的準備工作,通常這個前期工作都非常冗長繁瑣。而 E-MapReduce 提供了集群管理工具的集成解決方案,如主機選型、環(huán)境部署、集群搭建、集群配置、集群運行、作業(yè)配置、作業(yè)運行、集群管理、性能監(jiān)控等。 通過使用 E-MapReduce,用戶可以從集群構(gòu)建各種繁瑣的采購、準備、運維等工作中解放出來,只關(guān)心自己應用程序的處理邏輯即可。此外,E-MapReduce 還給用戶提供了靈活的搭配組合方式,用戶可以根據(jù)自己的業(yè)務特點選擇不同的集群服務。例如,如果用戶的需求是對數(shù)據(jù)進行日常統(tǒng)計和簡單的批量運算,則可以只選擇在 E-MapReduce 中運行 Hadoop 服務;而如果用戶還需要流式計算和實時計算的需求,則可以在 Hadoop 服務基礎上再加入 Spark 服務。 E-MapReduce 的組成 E-MapReduce 最核心也是用戶直接面對的組件是集群。一個 E-MapReduce 集群是由一個或多個阿里云 ECS instance 組成的 Hadoop 和 Spark 集群。以 Hadoop 為例,在每一個 ECS instance 上,通常都運行了一些 daemon 進程(如 namenode、datanode、resoucemanager 和 nodemanager),這些 daemon 進程就組成了 Hadoop 集群。運行 namenode 和 resourcemanager 的節(jié)點被稱為 master 節(jié)點,而運行 datanode 和 nodemanager 的節(jié)點被稱為 slave 節(jié)點。 例如,下圖表示了一個包含1個 master 節(jié)點和3個 slave 節(jié)點的 E-MapReduce 集群: |
|