EMR on ACK預設部署在x86架構的節點上,您也可以通過配置將Spark作業運行在Arm虛擬節點(Elastic Container Instance)上。本文為您介紹如何使用Arm虛擬節點運行Spark作業。
索引
前提條件
已在EMR on ACK控制台建立Spark叢集。詳細資料,請參見快速入門。
已開通Elastic Container Instance服務。詳細資料,請參見Container Service使用ECI。
EMR和EMR on ACK介紹
EMR:阿里雲開源巨量資料開發平台E-MapReduce(簡稱EMR),是運行在阿里雲平台上的一種巨量資料處理的系統解決方案。詳細資料,請參見什麼是E-MapReduce。
EMR on ACK:阿里雲EMR on ACK提供了全新構建巨量資料平台的方式。您可以將開源巨量資料服務部署在阿里雲Container ServiceACK上。利用ACK在服務部署和容器應用管理的優勢,減少對底層叢集資源的營運投入,讓您可以更聚焦於巨量資料任務本身。詳細資料,請參見EMR on ACK概述。
操作步驟
在ACK叢集中安裝虛擬節點。詳細資料,請參見方式二:添加Arm架構的虛擬節點。
在EMR on ACK上提交Spark作業。更多資訊,請參見提交Spark作業。
方式一:使用CRD方式提交作業
提交作業時,需要添加以下內容:
指定image鏡像:本文樣本為registry-vpc.cn-hangzhou.aliyuncs.com/emr/spark-py:emr-3.3.1-1.1.7-arm,其中cn-hangzhou需替換為您實際Region的名稱。
添加annotations:內容為alibabacloud.com/burst-resource: "eci_only"。
添加nodeSelector:內容為kubernetes.io/arch: arm64。
新增內容樣本如下。
方式二:配置Spark Conf
您也可以通過增加Spark Conf來配置image、annotation和nodeSelector,從而實現Arm節點調度。
進入spark-defaults.conf頁簽。
登入EMR on ACK控制台,單擊目的地組群操作列的配置。
在配置頁簽,單擊spark-defaults.conf。
配置Spark叢集以啟用ECI。
單擊上方的新增配置項。
在新增配置項對話方塊中,添加以下配置。
Key
說明
樣本值
spark.kubernetes.container.image
Spark鏡像。
registry-vpc.cn-hangzhou.aliyuncs.com/emr/spark-py:emr-3.3.1-1.1.7-arm
說明cn-hangzhou需要替換為您實際Region的名稱。
spark.kubernetes.driver.annotation.alibabacloud.com/burst-resource
Spark Driver是否使用ECI。
eci_only
spark.kubernetes.driver.node.selector.kubernetes.io/arch
Spark Driver的nodeSelector。
arm64
spark.kubernetes.executor.annotation.alibabacloud.com/burst-resource
Spark Executor是否使用ECI。
eci_only
spark.kubernetes.executor.node.selector.kubernetes.io/arch
Spark Executor的nodeSelector。
arm64
單擊確定。
在彈出的對話方塊中,輸入執行原因,單擊儲存。
生效配置。
單擊下方部署用戶端配置。
在彈出的對話方塊中,輸入執行原因,單擊確定。
在確認對話方塊中,單擊確定。