我设置了一个有三台机器的Hadoop 2.4.0集群。一台主机部署了namenode、资源管理器、datanode和节点管理器。另外两台工作机器部署了datanode和节点管理器。当我运行Hive查询时,工作失败,错误是
2014-06-11 13:40:13 364 WARN [main] org.apache.hadoop.mapred.YarnChild: Exception running child: java.net.ConnectException: Call From master/127.0.0.1 to .连接异常:java.net.ConnectException: connection>refused;欲了解更多详情,请访问:http://wiki.apache.org/hadoop/ConnectionRefused在sun.reflect.NativeConstructorAccessorImpl。newInstance0(本地方法)在sun.reflect.NativeConstructorAccessorImpl.newInstance (NativeConstructorAccessorImpl.java: 5> 7)sun.reflect.DelegatingConstructorAccessorImpl.newInstance (DelegatingConstructorAccessorImp> l.java: 45)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: Connection refused在sun.nio.ch.SocketChannelImpl。checkConnect(本地方法)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。事先感谢您的帮助。
顺便说一句,我在三台机器上的/etc/hosts都是一样的:
127.0.0.1 localhost
10.1.154.231主
10.1.153.220 slave1
10.1.153.133 slave2
请在主机上为自己设置无密码ssh 。
可以通过
实现 cat ~/id_rsa.pub >> ~/.ssh/authorized_keys2
确保权限正确
chmod 0600 ~/.ssh/authorized_keys2
在这种情况下,您可以通过检查您的yourhadoopfolder/logs/hadoop-[hadoop-user]-namenode-master.log
日志来检查namenode是否在主服务器上正确启动。通常是由于hdfs之前没有格式化导致的。运行
hadoop namenode -format
当然,您需要再次将数据放到集群中。