Amazon EMR
管理指南
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 Amazon AWS 入门

权限错误

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

您将正确凭证传递给了 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.cn 替换为主节点的公有 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.cn

有关更多信息,请参阅使用 SSH 连接主节点

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

因为 Amazon EMR 使用 EC2 实例作为节点,Amazon EMR 的 IAM 用户也需要设置某些 Amazon EC2 策略,以便 Amazon EMR 能代表 IAM 用户管理那些实例。如果您没有设置所需的权限,则 Amazon EMR 返回以下错误:"User account is not authorized to call EC2."

有关 IAM 账户需要设置用于运行 Amazon EMR 的 Amazon EC2 策略的更多信息,请参阅 基于用户的 IAM 策略中的 Amazon EMR 操作