2

我使用elastic-mapreduce從命令行中旋轉新的集羣。讀取this教程之後,我有:不能ssh到彈性MapReduce

elastic-mapreduce --create --alive \ 
--instance-type m1.xlarge\ 
--num-instances 5 \ 
--supported-product mapr \ 
--name m7 \ 
--args "--edition,m7" 

與6個節點(1個主+ 5從站)的一個新的集羣將被創建。所以我儘量ssh到主:

elastic-mapreduce --jobflow j-3FLVMX9CYE5L6 --ssh 

,我得到Permission denied (publickey)permissions.json文件在elastic_mapreduce家,也是路徑my_key.pem文件。 此外,這樣做:

ssh -i my_key.pem [email protected] 

我也得到Permission denied (publickey)。 my_key.pem已被授予400權限。我真的不知道接下來可以嘗試什麼......任何線索?

當我去EC2控制檯,我點擊Connect,我得到以下錯誤信息:

Instance is not associated with a key pair. 
This instance is not associated with a Key Pair. Without a Key Pair you will need to log into this instance using a valid username and password combination. 

回答

3

當您創建EMR集羣請確保您啓用密鑰對。在EMR控制檯,你可以看到它象下面這樣:

EMR

0

爲了加強Rico的評論,以上;我想補充一點,當你--create集羣可以拉下命令行的關鍵是:你的例子:

elastic-mapreduce --create --alive \ 
--instance-type m1.xlarge\ 
--num-instances 5 \ 
--supported-product mapr \ 
--name m7 \ 
--args "--edition,m7" 
--key-pair hadoopKey 

是「hadoopKey」是給一個密鑰對通過創建AWS控制檯。

當你進入SSH時,你提供了這個密鑰作爲「身份」 - 這意味着主機服務器必須有私鑰(在這種情況下是PEM文件)。這個動作參數(或上面的Rico示例)會將該密鑰文件推送到主EC2服務器上(也是唯一的)。

N.B.如果您想要從主機到工作站boxen之一進行SSH連接,您需要將相同的PEM文件推送到主機,然後像往常一樣繼續。

例如

[email protected]:$ scp -i hadoopKey.pem hadoopKey.pem [email protected]: 
[email protected]:$ssh -i hadoopKey.pem [email protected]: 
<figure out the IP of a worker from w/in that Master 
[email protected]:$ ssh -i ~/hadoopKey.pem [email protected] 

希望有所幫助。