设置到 Amazon EMR 集群的连接 - Amazon SageMaker
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

设置到 Amazon EMR 集群的连接

Amazon EMR 是一个大数据平台,用于处理大量数据。的核心组件是集群。Amazon EMR集群是 Amazon EC2 实例的集合。Apache Spark 是一个在 Amazon EMR 上运行的分布式处理框架。有关更多信息,请参阅什么是 Amazon EMR?Apache Spark

Amazon SageMaker Studio 附带一个包含 SageMaker 内核的 SparkMagic PySpark 映像。映像还包含 SparkMagic 实用程序 AWS CLI,您可以使用它来创建 sm-sparkmagic 内核连接到 PySpark 集群所需的配置文件。Amazon EMR创建配置文件后,实用程序会显示完成设置所需的步骤。

为了提高安全性,您可以指定与 EMR 集群的连接使用 Kerberos 身份验证。有关更多信息,请参阅使用 Kerberos 身份验证

Prerequisites

  • 对设置为使用 SageMaker 模式的 Amazon VPC Studio 的访问。有关更多信息,请参阅Choose a VPC

  • 一个 Amazon EMR 集群,它位于与 Studio 相同的 VPC 中,或连接到与 Studio 相同的 VPC 的 VPC 中。

  • 如果您使用 sm-sparkmagic 实用程序,则与您的 Studio 用户配置文件关联的 IAM 执行角色必须包含以下额外权限。要查找执行角色,请在 SageMaker Studio 控制面板中选择您的用户名。

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "elasticmapreduce:DescribeCluster", "elasticmapreduce:DescribeSecurityConfiguration", "elasticmapreduce:ListInstances" ], "Resource": [ "arn:aws:elasticmapreduce:*:*:cluster/*" ] } ] }

设置与 EMR 集群的连接

  1. 打开 SageMaker Studio。

  2. 在 Studio 的左上角,选择 Amazon SageMaker Studio 以打开 Studio 启动程序。

  3. Launcher (启动程序) 页面上,选择 Notebooks and compute resources (笔记本和计算资源)

  4. 对于 Select a SageMaker image (选择 IAM 映像),选择 SparkMagic 映像。

  5. 选择 Notebook (笔记本) 以在 SparkMagic 映像中创建 Studio 笔记本。

  6. 在笔记本单元格中运行以下代码以创建用于连接到 EMR 集群的配置文件。%%local 确保代码在本地映像中而不是在 Spark 上运行。

    • 如果未为 Kerberos 身份验证配置 EMR 集群,请运行以下命令:

      %%local ! sm-sparkmagic connect --cluster-id "cluster-id"

      该输出值应该类似于以下内容:

      Successfully read emr cluster(cluster-id) details SparkMagic config file location: /etc/sparkmagic/config.json
    • 如果为 Kerberos 身份验证配置了 EMR 集群,请运行以下命令:

      ! sm-sparkmagic connect --cluster-id "cluster-id" --user-name "user-name"

      该输出值应该类似于以下内容:

      Successfully read emr cluster(cluster-id) details SparkMagic config file location: /etc/sparkmagic/config.json Kerberos configuration file location: /etc/krb5.conf
  7. 要完成设置,请执行以下操作之一:

    • 对于未为 Kerberos 身份验证配置的 EMR 集群,请转到步骤 8。

    • 对于为 Kerberos 身份验证配置的 EMR 集群,请执行以下操作:

      1. 在笔记本工具栏中,选择 Launch terminal (启动终端) 图标 ( ) 以在与笔记本相同的 SparkMagic 映像中打开终端。

      2. 在终端中运行以下命令以获取 Kerberos 票证:

        kinit user-name
      3. 出现提示时请输入密码。

  8. 在笔记本工具栏中,选择 Restart kernel (重新启动内核) 图标 ( ) 以完成设置。

  9. 要验证是否正确设置了连接,请在笔记本单元中运行以下命令:

    %%info

    该输出值应该类似于以下内容:

    Current session configs:{'driverMemory': '1000M', 'executorCores': 2, 'kind': 'pyspark'} No active sessions.