我用三台机器建立了一个Hadoop 2.4.0集群。使用namenode,资源管理器,datanode和节点管理器部署一台主机。其他两台工作机器使用datanode和节点管理器进行部署。当我运行Hive查询时,工作失败,错误是
2014-06-11 13:40:13,364 WARN [main] org.apache.hadoop.mapred.YarnChild:异常运行子:java.net.ConnectException:从master / 127.0.0.1调用 master:43607连接异常失败:java.net.ConnectException:Connection> rejected;有关详细信息,请参阅:http://wiki.apache.org/hadoop/ConnectionRefused at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:5>7) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImp> l.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:526) 在org.apache.hadoop.net.NetUtils.wrapWithMessage(NetUtils.java:783) 在org.apache.hadoop.net.NetUtils.wrapException(NetUtils.java:730) 在org.apache.hadoop.ipc.Client.call(Client.java:1414) 在org.apache.hadoop.ipc.Client.call(Client.java:1363) 在org.apache.hadoop.ipc.WritableRpcEngine $ Invoker.invoke(WritableRpcEngine.java:231) 在com.sun.proxy。$ Proxy9.getTask(未知来源) 在org.apache.hadoop.mapred.YarnChild.main(YarnChild.java:136) 引起:java.net.ConnectException:连接被拒绝 at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method) at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:739) 在org.apache.hadoop.net.SocketIOWithTimeout.connect(SocketIOWithTimeout.java:206) 在org.apache.hadoop.net.NetUtils.connect(NetUtils.java:529) 在org.apache.hadoop.net.NetUtils.connect(NetUtils.java:493) 在org.apache.hadoop.ipc.Client $ Connection.setupConnection(Client.java:604) 在org.apache.hadoop.ipc.Client $ Connection.setupIOstreams(Client.java:699) 在org.apache.hadoop.ipc.Client $ Connection.access $ 2800(Client.java:367) 在org.apache.hadoop.ipc.Client.getConnection(Client.java:1462) 在org.apache.hadoop.ipc.Client.call(Client.java:1381) ......还有4个
如果我在主机上禁用datanode,一切都运行良好。我想知道是否允许在主机上部署datanode。感谢您提前给予的帮助。
BTW,三台机器上的/ etc / hosts是相同的:
127.0.0.1 localhost
10.1.154.231 master
10.1.153.220 slave1
10.1.153.133 slave2
答案 0 :(得分:1)
请在您的主人自身上设置无密码ssh。
您可以通过
实现这一目标 cat ~/id_rsa.pub >> ~/.ssh/authorized_keys2
确保权限正确
chmod 0600 ~/.ssh/authorized_keys2
答案 1 :(得分:0)
在这种情况下,您可以通过检查yourhadoopfolder / logs / hadoop- [hadoop-user] -namenode-master.log
中的日志来检查主节点上是否正确启动了namenode。它通常是由hdfs之前未格式化引起的。运行
hadoop namenode -format
当然,您需要再次将数据放入群集。