我首先列出了emr集群:
✗ aws emr list-clusters
{
"Clusters": [
{
"Id": "j-MQIKB378OARL",
"Name": "Spark cluster",
"Status": {
"State": "WAITING",
"StateChangeReason": {
"Message": "Cluster ready after last step failed."
},
"Timeline": {
"CreationDateTime": 1524200251.319,
"ReadyDateTime": 1524201100.225
}
},
"NormalizedInstanceHours": 6
},
然后我尝试连接:
✗ aws emr ssh --cluster-id j-MQIKB378OARL --key-pair-file ~/.ssh/keys/key-pair.pem
ssh -o StrictHostKeyChecking=no -o ServerAliveInterval=10 -i /Users/myuser/.ssh/keys/key-pair.pem hadoop@ec2-xxxxxxxxxx.compute-1.amazonaws.com -t
ssh: connect to host ec2-xxxxxxxxxx.compute-1.amazonaws.com port 22: Connection refused
我错过了什么吗?
答案 0 :(得分:2)
您的实例的安全组似乎不允许传入的ssh流量。
通过安全组,您可以控制实例的流量, 包括可以到达您的实例的流量类型。对于 例如,您可以仅允许来自家庭网络的计算机进行访问 你的实例使用SSH。如果您的实例是Web服务器,则可以 允许所有IP地址使用HTTP或HTTPS访问您的实例,所以 外部用户可以浏览Web服务器上的内容。
使用控制台为IPv4上的入站SSH流量添加规则到安全组:
在Amazon EC2控制台的导航窗格中,选择Instances。选择您的实例并查看“描述”选项卡;安全组列出与实例关联的安全组。选择视图规则以显示对实例有效的规则列表。
在导航窗格中,选择“安全组”。选择与您的实例关联的其中一个安全组。
在详细信息窗格的“入站”选项卡上,选择“编辑”。在对话框中,选择Add Rule,然后从Type列表中选择SSH。
在“源”字段中,选择“我的IP”以使用本地计算机的公用IPv4地址自动填充该字段。或者,选择“自定义”并以CIDR表示法指定计算机或网络的公用IPv4地址。例如,如果您的IPv4地址是203.0.113.25,请指定203.0.113.25/32以CIDR表示法列出此单个IPv4地址。如果贵公司从某个范围分配地址,请指定整个范围,例如203.0.113.0/24。
选择保存。
答案 1 :(得分:0)
ElasticMapReduce-...