按照教程说明在 EMR 中连接到我的 JobFlow 时,我输入以下内容:
./elastic-mapreduce --jobflow j-3FLVMX9CYE5L6 --ssh
并得到这个错误:
Permission denied (publickey)
我已经能够很好地运行其他 elastic-mapreduce 命令来创建流等,所以我假设流的实际主实例需要安全设置,但本教程中没有任何内容解释如何配置它(毕竟,我首先需要通过 SSH 进入它来进行配置!)
按照教程说明在 EMR 中连接到我的 JobFlow 时,我输入以下内容:
./elastic-mapreduce --jobflow j-3FLVMX9CYE5L6 --ssh
并得到这个错误:
Permission denied (publickey)
我已经能够很好地运行其他 elastic-mapreduce 命令来创建流等,所以我假设流的实际主实例需要安全设置,但本教程中没有任何内容解释如何配置它(毕竟,我首先需要通过 SSH 进入它来进行配置!)
我发现我需要使用 EC2 密钥对以用户“hadoop”身份登录,而不是任何常规嫌疑人(ec2-user、root 等),例如:
ssh -i privatekey.pem hadoop@masternode
希望这对某人有用。
好的,现在我感到很尴尬:我使用初始账户设置中的 Amazon CloudFront 密钥对,而不是与我的账户关联的密钥对来访问 EC2 实例,可从 AWS 管理控制台中的 EC2 > Network & Security > Key Pairs 访问。
命令“ssh -i privatekey.pem hadoop@masternode”效果很好。用户“hadoop”必须用于“ec2 elastic mapreduce”。