我想排查 Amazon EMR 笔记本的连接问题。
简短描述
当连接到您的 Amazon EMR 笔记本时,您可能会收到与以下内容类似的错误:
- 工作区(笔记本)已停止。内部错误。
- 工作区(笔记本)现在可以在本地模式下使用。
- 笔记本已停止。服务角色没有所需的权限。
- 笔记本已停止。笔记本安全组 sg-xxxxxxxx 没有用于连接主安全组 sg-yyyyyy 的出口规则。请修复安全组或使用默认选项。
- 笔记本已停止。笔记本安全组 sg-xxxxxxx 不应有任何入口规则。请修复安全组或使用默认选项。
解决方法
检查 EMR 笔记本中的服务角色
1. 验证笔记本的 AWS Identity and Access Management(IAM)角色是否具有所需的最低权限。有关更多信息,请参阅 EMR 笔记本的服务角色。
2. 确认笔记本具有 AmazonElasticMapReduceEditorsRole 中包含的所有权限。使用 AWS 托管式策略 S3FullAccessPolicy 获得对 Amazon Simple Storage Service(Amazon S3)的完全访问权限。有关更多信息,请参阅 AWS 托管式策略:Amazon S3FullAccess。
3. 从附加到笔记本所在的 S3 存储桶的存储桶策略中删除任何权限限制。
检查 EMR 笔记本中的安全组
1. 验证用于笔记本的安全组是否至少具有所需的最少规则。有关更多信息,请参阅为 EMR 笔记本指定 EC2 安全组。
2. 最佳做法是为 EMR 集群和 EMR 笔记本使用不同的安全组。笔记本和集群的安全组具有不同的入站和出站规则要求。
笔记本安全组 ElasticMapReduceEditors-Editor 具有出口规则,它允许连接到主安全组 ElasticMapReduceEditors-Livy。此连接使用 tcp/18888。删除在路由到 0.0.0.0/0 的笔记本安全组 ElasticMapReduceEditors-Editor 中添加的任何出站规则。
主安全组 ElasticMapReduceEditors-Livy 具有出口规则,它允许连接到笔记本安全组 ElasticMapReduceEditors-Editor。此连接使用 tcp/18888。删除在路由到 0.0.0.0/0 的主安全组 ElasticMapReduceEditors-Livy 中添加的任何入口规则。
EMR 集群要求
1. 验证连接的集群是否兼容并满足所有集群要求。
2. 当 Livy 模拟开启时,验证 hadoop-httpfs 是否正在 EMR 集群主节点上运行。
使用以下命令检查 hadoop-httpfs 的状态:
$ sudo systemctl status hadoop-httpfs
使用以下命令开启 hadoop-httpfs:
$ sudo systemctl start hadoop-httpfs