权限错误 - Amazon EMR
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

权限错误

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

您将正确凭证传递给了 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 连接到主节点

如果您在使用 IAM,您是否有正确的 Amazon EC2 策略设置?

因为 Amazon EMR 使用 EC2 实例作为节点,Amazon EMR 的用户也需要设置某些 Amazon EC2 策略,以便 Amazon EMR 能代表用户管理那些实例。如果您没有设置所需的权限,则 Amazon EMR 返回以下错误:“账户没有调用 EC2 的权限。”

有关您的 IAM 账户需要设置以运行 Amazon EMR 的 Amazon EC2 策略的更多信息,请参阅Amazon EMR 如何与 IAM 配合使用