Amazon EMR 集群操作期间的权限错误 - Amazon EMR

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

Amazon EMR 集群操作期间的权限错误

使用权限或凭证时常出现以下错误。

您将正确凭证传递给了 SSH 吗?

如果您不能使用 SSH 连接主节点,最有可能是您的安全凭证出了问题。

首先,检查并确保包含您 SSH 密钥的 .pem 文件有正确的权限。您可以使用 chmod 更改 .pem 文件上的权限,如以下示例所示,其中,要把 mykey.pem 替换为自己的 .pem 文件的名称。

chmod og-rwx mykey.pem

第二种可能性是,您没使用创建集群时指定的密钥对。如果您创建了多个密钥对,这种情况很容易出现。检查 Amazon EMR 控制台中的集群详细信息(或使用 CLI 中的 --describe 选项),并确保创建集群时指定的密钥对的名称无误。

验证您在使用正确的密钥对且 .pem 文件上的权限正确设置后,您可以使用以下命令通过 SSH 连接主节点,其中,要把 mykey.pem 替换为您个人 .pem 文件的名称,把 hadoop@ec2-01-001-001-1.compute-1.amazonaws.com 替换为主节点的公有 DNS 名称(通过 CLI 中的 --describe 选项或通过 Amazon EMR 控制台实现)。

重要

在连接到 Amazon EMR 集群节点时,必须使用登录名 hadoop,否则可能发生类似 Server refused our key 的错误。

ssh -i mykey.pem hadoop@ec2-01-001-001-1.compute-1.amazonaws.com

有关更多信息,请参阅 使用 SSH 连接到 Amazon EMR 集群主节点

如果您使用的是 IAM,您是否设置了正确的亚马逊 EC2 政策?

由于 Amazon EMR 使用 EC2 实例作为节点,因此 Amazon EMR 的用户还需要设置某些亚马逊 EC2 政策,这样 Amazon EMR 才能代表用户管理这些实例。如果您未设置所需的权限,Amazon EMR 将返回错误:“账户无权调用 EC2”。

有关您的 IAM 账户为运行 Amazon EMR 而需要设置的亚马逊 EC2 政策的更多信息,请参阅。Amazon EMR 如何与 IAM 配合使用