Hadoop EC2主机中MapReduce中的SSH错误
我已经在AmazonEC2主机上安装了ApacheHadoopMapReduce2.6.1,并使用私有IP地址配置了运行时。您可以在下面[2-5]检查我的配置 为了缓解调试问题,我允许安全组中的所有入站流量[6] 问题是,当我启动MapReduce时,SSH密钥中的Hadoop EC2主机中MapReduce中的SSH错误,hadoop,amazon-ec2,mapreduce,Hadoop,Amazon Ec2,Mapreduce,我已经在AmazonEC2主机上安装了ApacheHadoopMapReduce2.6.1,并使用私有IP地址配置了运行时。您可以在下面[2-5]检查我的配置 为了缓解调试问题,我允许安全组中的所有入站流量[6] 问题是,当我启动MapReduce时,SSH密钥中的权限被拒绝 我已经注意到我不能sshEC主机来自同一个主机。如何修复此错误ubuntu@ip-XXX-XX-XX-XX:sshubuntu@ip-XXX-XX-XX 我想在EC2中不同站点上运行的HDFS实例之间复制数据。使用主机的专
权限被拒绝
我已经注意到我不能ssh
EC主机来自同一个主机。如何修复此错误<代码>ubuntu@ip-XXX-XX-XX-XX:sshubuntu@ip-XXX-XX-XX
ubuntu@ip-XXX-XX-XX-XX:~/Programs/medusa-2.0$ start-all.sh
This script is Deprecated. Instead use start-dfs.sh and start-yarn.sh
15/12/16 10:52:18 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
Starting namenodes on [ip-XXX-XX-XX-XX]
ip-XXX-XX-XX-XX: Permission denied (publickey).
ip-XXX-XX-XX-XX: Permission denied (publickey).
Starting secondary namenodes [0.0.0.0]
0.0.0.0: Permission denied (publickey).
15/12/16 10:52:23 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
starting yarn daemons
starting resourcemanager, logging to /home/ubuntu/Programs/hadoop-2.6.2/logs/yarn-ubuntu-resourcemanager-ip-XXX-XX-XX-XX.out
ip-XXX-XX-XX-XX: Permission denied (publickey).
[2] web-site.xml
ubuntu@ip-XXX-XX-XX-XX:~/Programs$ cat ./hadoop/etc/hadoop/yarn-site.xml
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<!-- Put site-specific property overrides in this file. -->
<configuration>
<property> <name>yarn.log-aggregation-enable</name> <value>true</value> </property>
<property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property>
<property> <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name> <value>org.apache.hadoop.mapred.ShuffleHandler</value> </property>
<property> <name>yarn.resourcemanager.resource-tracker.address</name> <value>ip-XXX-XX-XX-XX:8025</value> </property>
<property> <name>yarn.resourcemanager.scheduler.address</name> <value>ip-XXX-XX-XX-XX:8030</value> </property>
<property> <name>yarn.resourcemanager.address</name> <value>ip-XXX-XX-XX-XX:8040</value> </property>
</configuration>
[5] SSH文件
ubuntu@ip-XXX-XX-XX-XX:~/Programs$ ls -alrt ~/.ssh/
total 24
-rw------- 1 ubuntu ubuntu 392 Dec 16 09:49 authorized_keys
-rw-r--r-- 1 ubuntu ubuntu 666 Dec 16 10:33 known_hosts
-rw-r--r-- 1 ubuntu ubuntu 404 Dec 16 10:33 id_rsa.pub
-rw------- 1 ubuntu ubuntu 1675 Dec 16 10:33 id_rsa
drwx------ 2 ubuntu ubuntu 4096 Dec 16 10:33 .
drwxr-xr-x 7 ubuntu ubuntu 4096 Dec 16 10:34 ..
[6] 安全小组
All traffic All All 0.0.0.0/0
SSH TCP 22 0.0.0.0/0
这与SSH问题有关。您尚未正确配置SSH
您可以测试sshubuntu@ip****在运行start-all.sh程序之前。如果它不工作,那么您需要解决ssh问题并重试。是的,这是ssh问题,但我认为我对
~/.ssh
中的文件拥有正确的权限。因此,我不明白为什么我不能执行SSH?您是否使用id_rsa.pub中的内容更新了授权密钥?谢谢,在我添加了cat id_rsa.pub>>授权密钥后,hadoop框架可以正常启动。我仍然存在在MapReduce框架中使用私有IP的问题。我希望能够在2个HDF之间复制文件。我应该在HDFS配置中使用哪些IP,以便我可以在EC2中运行在不同主机上的两个HDFS实例之间复制文件?不,但我想我必须使用VPC在不同主机之间设置VPN,并且每VPN连接小时支付0.05美元,对吗?如果您使用VPC,如果这两个实例是不同实例的一部分,您将无法在它们之间进行通信。在实例之间通信时,应始终使用专用IP。没有VPC,您将能够在实例之间通信,只要它们位于同一区域。
ubuntu@ip-XXX-XX-XX-XX:~/Programs$ ls -alrt ~/.ssh/
total 24
-rw------- 1 ubuntu ubuntu 392 Dec 16 09:49 authorized_keys
-rw-r--r-- 1 ubuntu ubuntu 666 Dec 16 10:33 known_hosts
-rw-r--r-- 1 ubuntu ubuntu 404 Dec 16 10:33 id_rsa.pub
-rw------- 1 ubuntu ubuntu 1675 Dec 16 10:33 id_rsa
drwx------ 2 ubuntu ubuntu 4096 Dec 16 10:33 .
drwxr-xr-x 7 ubuntu ubuntu 4096 Dec 16 10:34 ..
All traffic All All 0.0.0.0/0
SSH TCP 22 0.0.0.0/0