本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用 EMR Notebooks 时的注意事项
注意
EMR Notebooks 将在 2023 年 2 月 8 日之前在新控制台中作为 EMR Studio Workspaces 提供。您仍然能够在旧控制台中使用现有的笔记本电脑,但从 2023 年 3 月 10 日起,我们将停用 Create notebook(创建笔记本)按钮。新控制台中的 Create Workspace(创建 Workspace)按钮将取代此功能。要访问或创建 Workspaces,EMR Notebooks 用户将需要额外的 IAM 角色权限。有关更多信息,请参阅 Amazon EMR Notebooks are Amazon EMR Studio Workspaces in new console(Amazon EMR Notebooks 在新控制台中为 Amazon EMR Studio Workspaces)和 What's new in the console?(控制台中有哪些新功能?)
在使用 EMR 笔记本创建集群和开发解决方案时,请考虑以下要求。
集群要求
-
启用 Amazon EMR 阻止公有访问 – 通过对集群进行入站访问,集群用户能够执行笔记本内核。确保只有授权用户才能访问集群。我们强烈建议您将阻止公有访问保持启用状态,并将入站 SSH 流量仅限于可靠来源。有关更多信息,请参阅使用 Amazon EMR 阻止公有访问和使用安全组控制网络流量。
-
使用兼容的集群 – 附加到笔记本的集群必须满足以下要求:
-
仅支持使用 Amazon EMR 创建的集群。您可以在 Amazon EMR 中单独创建集群,然后附加 EMR 笔记本,也可以在创建 EMR 笔记本时创建可兼容的集群。
-
仅支持使用 Amazon EMR 发行版 5.18.0 及更高版本创建的集群。请参阅集群发行版的功能差异。
-
不支持使用具有 AMD EPYC 处理器的 Amazon EC2 实例创建的集群(例如 m5a.* 和 r5a.* 实例类型)。
-
EMR Notebooks 仅适用于在
VisibleToAllUsers
设置为true
的情况下创建的集群。默认情况下VisibleToAllUsers
为true
。 -
必须在 EC2-VPC 内启动集群。支持公有和私有子网。不支持 EC2-Classic 平台。
-
启动的集群必须安装有 Hadoop、Spark 和 Livy。可以安装其它应用程序,但 EMR Notebooks 目前仅支持 Spark 集群。
重要
对于 Amazon EMR 发行版本 5.32.0 及更高版本或 6.2.0 及更高版本,您的集群还必须运行 Jupyter Enterprise Gateway 应用程序才能使用 EMR Notebooks。
-
不支持使用 Kerberos 身份验证的集群。
-
与 Amazon Lake Formation 集成的集群仅支持安装笔记本范围的库。不支持在集群上安装内核和库。
-
不支持具有多个主节点的集群。
-
不支持使用基于 Amazon Graviton2 的 Amazon EC2 实例的集群
-
集群发行版的功能差异
我们强烈建议您将 EMR Notebooks 与使用 Amazon EMR 发行版本 5.30.0、5.32.0 或更高版本或 6.2.0 或更高版本创建的集群一起使用。借助这些版本,EMR Notebooks 在附加的 Amazon EMR 集群上运行内核。内核和库可直接安装到集群主节点上。将 EMR Notebooks 与这些集群版本结合使用具有以下好处:
-
提高了性能 – 笔记本内核在具有所选 EC2 实例类型的集群上运行。早期版本在无法调整大小、访问或自定义的专用实例上运行内核。
-
能够添加和自定义内核 – 您可以使用
conda
和pip
连接到集群来安装内核包。此外,支持在笔记本单元中使用终端命令来安装pip
。在早期版本中,只有预安装的内核可用(Python PySpark、Spark 和 SparkR)。有关更多信息,请参阅在集群主节点上安装内核和 Python 库: -
能够安装 Python 库 - 您可以使用
conda
和pip
在集群主节点上安装 Python 库。我们建议使用conda
。在早期版本中,仅支持笔记本范围 PySpark 内的库。
并发附加的 EMR Notebooks 的限制
创建支持笔记本的集群时,请考虑集群主节点的 EC2 实例类型。此 EC2 实例的内存限制决定了可以同时准备好在集群上运行代码和查询的笔记本的数量。
主节点 EC2 实例类型 | EMR Notebooks 数量 |
---|---|
*.medium |
2 |
*.large |
4 |
*.xlarge |
8 |
*.2xlarge |
16 |
*.4xlarge |
24 |
*.8xlarge |
24 |
*.16xlarge |
24 |
Jupyter notebook 和 Python 版本
EMR Notebooks 运行 Jupyter notebook 版本 6.0.2
如果在 Amazon S3 中指定一个加密位置来存储笔记本文件,则必须将 EMR Notebooks 的服务角色 设置为密钥用户。默认服务角色为 EMR_Notebooks_DefaultRole
。如果您使用 Amazon KMS 密钥进行加密,请参阅《Amazon Key Management Service 开发人员指南》中的在 Amazon KMS 中使用密钥策略和添加密钥用户的支持文章