2013-01-21 158 views
4

我的经理向我提供了一个Amazon实例以及一个ppk。能够登录;试图安装hadoop;进行了所需的配置更改,如将主服务器和从服务器文件从本地主机编辑为EC2实例名称,向mapred-site.xml/hdfs-site.xml/core-site.xml文件添加所需的属性,将namenode格式化为HDFS 。 现在,当我运行start-dfs.sh脚本时,出现以下错误。 开始namenode,登录到/home/ubuntu/hadoop/libexec/../logs/hadoop-ubuntu-namenode-domU-12-31-39-07-60-A9.out 主机'XXX.amazonaws的真实性.com(某些IP)“无法建立。在启动Hadoop时,EC2上的权限被拒绝(publickey)

您确定要继续连接(是/否)吗?是的 XXX.amazonaws.com:警告:永久性地将'XXX.amazonaws.com'(ECDSA)添加到已知主机列表中。 XXX.amazonaws.com:权限被拒绝(publickey)。 XXX.amazonaws.com:权限被拒绝(publickey)。

截至目前,主从节点将是同一台机器。

XXX是实例名称,一些IP是它的IP。出于安全原因掩盖它们。

我完全不知道如何使用EC2实例,SSH等,只需要在其中运行一个简单的MapReduce程序。

请提出建议。

+0

只要提一下,听起来非常像在http://insightdataengineering.com/blog/hadoopdevops/下的Austin Ouyang教程。 – Samuel

回答

4

Hadoop使用SSH将信息从主机传输到从机。它看起来像你的节点正试图通过SSH相互交谈,但尚未配置为这样做。为了进行通信,Hadoop主节点需要对从节点进行无密码SSH访问。无密码很有用,因此每次尝试运行作业时都不必再为每个从节点输入密码。这将是非常乏味的。看起来你必须在节点之间设置它,然后才能继续。

我建议你检查this guide并找到“配置SSH”部分。它列出了如何实现这一点。

+0

是的,那工作... – user149332

+0

我有另一个问题,虽然...我datanode不启动,日志显示错误org.apache.hadoop.hdfs.server.datanode.DataNode:java.net.BindException:问题绑定到/0.0.0.0:50010:地址已经在使用 我试着删除tmp目录中的data/name文件夹,重新格式化hdfs,运行start-dfs.sh脚本。尽管NN启动,但SNN也启动但几乎立即关闭,并发出以下消息INFO org.apache.hadoop.http.HttpServer:在open()为-1之前由webServer.getConnectors()[0] .getLocalPort()返回的端口。打开50090上的监听器。 – user149332

+0

试过netstat -nl | grep 50010;它显示有一些进程正在运行但找不到该pid。 jps没有显示任何进程,因此尝试了“sudo jps”并且显示有DN和SNN进程正在运行;所以通过sudo kill -9 杀死了那些人。现在开始了我的海洛因和一切作品。 – user149332

相关问题