數(shù)以萬(wàn)計(jì)的客戶使用Amazon EMR在Apache Spark、Hive、HBase、Flink、Hudi和Presto之類的框架上大規(guī)模運(yùn)行大數(shù)據(jù)分析應(yīng)用程序。EMR可自動(dòng)預(yù)置和擴(kuò)展這些框架,并通過各種EC2實(shí)例類型優(yōu)化性能,以滿足價(jià)格和性能要求。客戶現(xiàn)在正在使用Kubernetes跨組織整合計(jì)算池。一些在Amazon Elastic Kubernetes Service(EKS)上自行管理Apache Spark的客戶想要使用EMR消除安裝和管理其框架以及與AWS服務(wù)集成的繁重工作。此外,他們希望利用EMR提供的更快的運(yùn)行時(shí)以及開發(fā)和調(diào)試工具。
今天,我們宣布正式推出Amazon EKS上的Amazon EMR,這是EMR中的一項(xiàng)新部署選項(xiàng),可讓客戶在EKS上自動(dòng)預(yù)置和管理開源大數(shù)據(jù)框架。借助EKS上的EMR,客戶現(xiàn)在可以在同一EKS集群上與其他類型的應(yīng)用程序一起運(yùn)行Spark應(yīng)用程序,以提高資源利用率并簡(jiǎn)化基礎(chǔ)設(shè)施管理。
客戶可以將EMR應(yīng)用程序與其他類型的應(yīng)用程序部署在同一個(gè)EKS集群上,這樣他們就可以在單個(gè)解決方案上共享資源并實(shí)現(xiàn)標(biāo)準(zhǔn)化,以便操作和管理所有應(yīng)用程序??蛻艨梢栽贓KS上獲取他們現(xiàn)在在EC2上使用的所有相同的EMR功能,例如訪問最新的框架、性能優(yōu)化運(yùn)行時(shí)、用于應(yīng)用程序開發(fā)的EMR Notebooks以及用于調(diào)試的Spark用戶界面。
Amazon EMR自動(dòng)將應(yīng)用程序打包到具有大數(shù)據(jù)框架的容器中,并提供用于與其他AWS服務(wù)集成的預(yù)構(gòu)建連接器。然后,EMR在EKS集群上部署應(yīng)用程序并管理日志記錄和監(jiān)控。使用EKS上的EMR,與EKS上的標(biāo)準(zhǔn)Apache Spark相比,使用EMR中包含的性能優(yōu)化Spark運(yùn)行時(shí),您可以將性能速度提高3倍。
EKS上的Amazon EMR–入門
如果您已經(jīng)擁有運(yùn)行Spark作業(yè)的EKS集群,只需使用AWS管理控制臺(tái)、AWS命令行界面(CLI)或API來部署您的Spark應(yīng)用程序,即可用EMR注冊(cè)您的現(xiàn)有EKS集群。
例如,下面這個(gè)簡(jiǎn)單的CLI命令可用來注冊(cè)您的EKS集群。
$ aws emr create-virtual-cluster \
--name <virtual_cluster_name> \
--container-provider '{
"id": "<eks_cluster_name>",
"type": "EKS",
"info": {
"eksInfo": {
"namespace": "<namespace_name>"
}
}
}'
在EMR管理控制臺(tái)中,您可以在虛擬集群列表中看到它。
注冊(cè)Amazon EKS集群后,EMR工作負(fù)載將部署到Kubernates節(jié)點(diǎn)和Pod以管理應(yīng)用程序執(zhí)行和自動(dòng)擴(kuò)展,并設(shè)置托管終端節(jié)點(diǎn),以便您可以連接筆記本和SQL客戶端。EMR為分析應(yīng)用程序中使用的開源框架構(gòu)建和部署性能優(yōu)化的運(yùn)行時(shí)。
您只需啟動(dòng)您的Spark作業(yè)。
$ aws emr start-job-run \
--name <job_name> \
--virtual-cluster-id <cluster_id> \
--execution-role-arn <IAM_role_arn> \
--virtual-cluster-id <cluster_id> \
--release-label <<emr_release_label> \
--job-driver '{
"sparkSubmitJobDriver": {
"entryPoint": <entry_point_location>,
"entryPointArguments": ["<arguments_list>"],
"sparkSubmitParameters": <spark_parameters>
}
}'
要監(jiān)控和調(diào)試作業(yè),您可以使用上傳到您的Amazon CloudWatch和Amazon Simple Storage Service(S3)位置的檢查日志,這些位置在監(jiān)控配置中進(jìn)行配置。您還可以使用控制臺(tái)中的一鍵式體驗(yàn)啟動(dòng)Spark歷史記錄服務(wù)器。
與Amazon EMR Studio集成
現(xiàn)在,您可以使用AWS開發(fā)工具包和AWS CLI、Amazon EMR Studio筆記本以及Apache Airflow之類的工作流編排服務(wù)提交分析應(yīng)用程序。我們已經(jīng)為EKS上的Amazon EMR開發(fā)了一個(gè)新的Airflow Operator。您可以將此連接器與自行管理的Airflow結(jié)合使用,也可以使用適用于Apache Airflow的Amazon托管工作流將其添加到插件位置。
您還可以使用新預(yù)覽的Amazon EMR Studio在基于Web的集成開發(fā)環(huán)境(IDE)中執(zhí)行數(shù)據(jù)分析和數(shù)據(jù)工程任務(wù)。借助Amazon EMR Studio,您可以使用Studio界面向部署在EKS上的EMR集群提交筆記本代碼。在設(shè)置了Studio用戶可以將工作區(qū)附加到的一個(gè)或多個(gè)托管終端節(jié)點(diǎn)之后,EMR Studio可以與虛擬集群進(jìn)行通信。
對(duì)于EMR Studio預(yù)覽版,為虛擬集群創(chuàng)建托管終端節(jié)點(diǎn)時(shí)不會(huì)產(chǎn)生額外費(fèi)用。要了解更多信息,請(qǐng)?jiān)L問博客文章和指南文檔。
現(xiàn)已推出
Amazon EKS上的Amazon EMR現(xiàn)已在美國(guó)東部(弗吉尼亞北部)、美國(guó)西部(俄勒岡)和歐洲(愛爾蘭)區(qū)域推出。您可以在適用于EKS的AWS Fargate中運(yùn)行EMR工作負(fù)載,從而不再需要為Pod預(yù)置和管理基礎(chǔ)設(shè)施作為無服務(wù)器選項(xiàng)。