亚马逊AWS官方博客

新增 – Amazon Elastic Kubernetes Service (EKS) 上的 Amazon EMR

数以万计的客户使用 Amazon EMRApache Spark HiveHBaseFlinkHudiPresto 之类的框架上大规模运行大数据分析应用程序。EMR 可自动预置和扩展这些框架,并通过各种 EC2 实例类型优化性能,以满足价格和性能要求。客户现在正在使用 Kubernetes 跨组织整合计算池。一些在 Amazon Elastic Kubernetes Service (EKS) 上自行管理 Apache Spark 的客户想要使用 EMR 消除安装和管理其框架以及与 AWS 服务集成的繁重工作。此外,他们希望利用 EMR 提供的更快的运行时以及开发和调试工具。

今天,我们宣布正式推出 Amazon EKS 上的 Amazon EMR,这是 EMR 中的一项新部署选项,可让客户在 EKS 上自动预置和管理开源大数据框架。借助 EKS 上的 EMR,客户现在可以在同一 EKS 集群上与其他类型的应用程序一起运行 Spark 应用程序,以提高资源利用率并简化基础设施管理。

客户可以将 EMR 应用程序与其他类型的应用程序部署在同一个 EKS 集群上,这样他们就可以在单个解决方案上共享资源并实现标准化,以便操作和管理所有应用程序。客户可以在 EKS 上获取他们现在在 EC2 上使用的所有相同的 EMR 功能,例如访问最新的框架、性能优化运行时、用于应用程序开发的 EMR Notebooks 以及用于调试的 Spark 用户界面。

Amazon EMR 自动将应用程序打包到具有大数据框架的容器中,并提供用于与其他 AWS 服务集成的预构建连接器。然后,EMR 在 EKS 集群上部署应用程序并管理日志记录和监控。使用 EKS 上的 EMR,与 EKS 上的标准 Apache Spark 相比,使用 EMR 中包含的性能优化 Spark 运行时,您可以将性能速度提高 3 倍

EKS 上的 Amazon EMR – 入门
如果您已经拥有运行 Spark 作业的 EKS 集群,只需使用 AWS 管理控制台AWS 命令行界面 (CLI) 或 API 来部署您的 Spark 应用程序,即可用 EMR 注册您的现有 EKS 集群。

例如,下面这个简单的 CLI 命令可用来注册您的 EKS 集群。

$ aws emr create-virtual-cluster \
          --name <virtual_cluster_name> \
          --container-provider '{
             "id": "<eks_cluster_name>",
             "type": "EKS",
             "info": {
                 "eksInfo": {
                     "namespace": "<namespace_name>"
                 }
             } 
         }'

EMR 管理控制台中,您可以在虚拟集群列表中看到它。

注册 Amazon EKS 集群后,EMR 工作负载将部署到 Kubernates 节点和 Pod 以管理应用程序执行和自动扩展,并设置托管终端节点,以便您可以连接笔记本和 SQL 客户端。EMR 为分析应用程序中使用的开源框架构建和部署性能优化的运行时。

您只需启动您的 Spark 作业。

$ 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>
            }
       }'

要监控和调试作业,您可以使用上传到您的 Amazon CloudWatchAmazon Simple Storage Service (S3) 位置的检查日志,这些位置在监控配置中进行配置。您还可以使用控制台中的一键式体验启动 Spark 历史记录服务器。

与 Amazon EMR Studio 集成

现在,您可以使用 AWS 开发工具包和 AWS CLI、Amazon EMR Studio 笔记本以及 Apache Airflow 之类的工作流编排服务提交分析应用程序。我们已经为 EKS 上的 Amazon EMR 开发了一个新的 Airflow Operator。您可以将此连接器与自行管理的 Airflow 结合使用,也可以使用适用于 Apache Airflow 的 Amazon 托管工作流将其添加到插件位置。

您还可以使用新预览的 Amazon EMR Studio 在基于 Web 的集成开发环境 (IDE) 中执行数据分析和数据工程任务。借助 Amazon EMR Studio,您可以使用 Studio 界面向部署在 EKS 上的 EMR 集群提交笔记本代码。在设置了 Studio 用户可以将工作区附加到的一个或多个托管终端节点之后,EMR Studio 可以与虚拟集群进行通信。

对于 EMR Studio 预览版,为虚拟集群创建托管终端节点时不会产生额外费用。要了解更多信息,请访问博客文章指南文档

现已推出
Amazon EKS 上的 Amazon EMR 现已在美国东部(弗吉尼亚北部)美国西部(俄勒冈)欧洲(爱尔兰)区域推出。您可以在适用于 EKS 的 AWS Fargate 中运行 EMR 工作负载,从而不再需要为 Pod 预置和管理基础设施作为无服务器选项。

要了解更多信息,请访问文档。请发送反馈给 Amazon EMR 的 AWS 论坛或通过您常用的 AWS Support 联系人发送反馈。

了解有关 Amazon EKS 上的 Amazon EMR 的所有详细信息并立即开始使用

Channy