在点击 jps 命令时,Datanode 未显示

Posted

技术标签:

【中文标题】在点击 jps 命令时,Datanode 未显示【英文标题】:Datanode is not showing up on hitting jps command 【发布时间】:2015-06-28 11:11:55 【问题描述】:

我是 hadoop 的新手,我已经设置了多节点集群,但是当我在主节点上点击 jps 命令时,它只显示 namenode 而不是 datanode,当我粘贴此 url 'Master:50070' 时,它显示no live node,因此我无法将数据从我的本地系统复制到 hdfs 会引发此错误

hduser@oodles-Latitude-3540:~$ hadoop fs -copyFromLocal /home/oodles/input/test /tmp
15/06/28 16:27:56 WARN hdfs.DFSClient: DataStreamer Exception
org.apache.hadoop.ipc.RemoteException(java.io.IOException): File /tmp/test._COPYING_ could only be replicated to 0 nodes instead of minReplication (=1).  There are 0 datanode(s) running and no node(s) are excluded in this operation.
    at org.apache.hadoop.hdfs.server.blockmanagement.BlockManager.chooseTarget4NewBlock(BlockManager.java:1549)
    at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.getAdditionalBlock(FSNamesystem.java:3200)
    at org.apache.hadoop.hdfs.server.namenode.NameNodeRpcServer.addBlock(NameNodeRpcServer.java:641)
    at org.apache.hadoop.hdfs.protocolPB.ClientNamenodeProtocolServerSideTranslatorPB.addBlock(ClientNamenodeProtocolServerSideTranslatorPB.java:482)
    at org.apache.hadoop.hdfs.protocol.proto.ClientNamenodeProtocolProtos$ClientNamenodeProtocol$2.callBlockingMethod(ClientNamenodeProtocolProtos.java)
    at org.apache.hadoop.ipc.ProtobufRpcEngine$Server$ProtoBufRpcInvoker.call(ProtobufRpcEngine.java:619)
    at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:962)
    at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:2039)
    at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:2035)
    at java.security.AccessController.doPrivileged(Native Method)
    at javax.security.auth.Subject.doAs(Subject.java:415)
    at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1628)
    at org.apache.hadoop.ipc.Server$Handler.run(Server.java:2033)

使用此命令start-dfs.sh 启动hadoop 集群后,我的namenode 启动成功,但datanode 没有。当我检查数据节点日志时,它显示了这个

ToMaximumCountWithFixedSleep(maxRetries=10, sleepTime=1000 MILLISECONDS)
2015-06-28 04:01:53,496 INFO org.apache.hadoop.ipc.Client: Retrying connect to server: Master/192.168.0.126:9000. Already tried 6 time(s); retry policy is RetryUpToMaximumCountWithFixedSleep(maxRetries=10, sleepTime=1000 MILLISECONDS)
2015-06-28 04:01:54,498 INFO org.apache.hadoop.ipc.Client: Retrying connect to server: Master/192.168.0.126:9000. Already tried 7 time(s); retry policy is RetryUpToMaximumCountWithFixedSleep(maxRetries=10, sleepTime=1000 MILLISECONDS)
2015-06-28 04:01:55,499 INFO org.apache.hadoop.ipc.Client: Retrying connect to server: Master/192.168.0.126:9000. Already tried 8 time(s); retry policy is RetryUpToMaximumCountWithFixedSleep(maxRetries=10, sleepTime=1000 MILLISECONDS)
2015-06-28 04:01:56,500 INFO org.apache.hadoop.ipc.Client: Retrying connect to server: Master/192.168.0.126:9000. Already tried 9 time(s); retry policy is RetryUpToMaximumCountWithFixedSleep(maxRetries=10, sleepTime=1000 MILLISECONDS)

我用谷歌搜索但没有找到解决方案。

当我在从节点上点击 jps 命令时,它只显示数据节点

当我将“Master:50070”粘贴到浏览器并浏览文件系统时,还有一件事 它告诉我这个错误

HTTP ERROR 500

Problem accessing /nn_browsedfscontent.jsp. Reason:

    Can't browse the DFS since there are no live nodes available to redirect to.
Caused by:

java.io.IOException: Can't browse the DFS since there are no live nodes available to redirect to.
    at org.apache.hadoop.hdfs.server.namenode.NamenodeJspHelper.redirectToRandomDataNode(NamenodeJspHelper.java:666)
    at org.apache.hadoop.hdfs.server.namenode.nn_005fbrowsedfscontent_jsp._jspService(nn_005fbrowsedfscontent_jsp.java:70)

我的hadoop集群配置是这样的

1) 主机上的 /etc/host 文件

2) 从属设备上的 /etc/hosts 文件

我在 hadoop 配置文件夹的主和从文件中有编辑条目,即主文件我添加了主文件和从文件我添加了 Slave1

谁能帮我解决这些问题!

datanode 日志显示在两张图片中

【问题讨论】:

发布您的datanode 日志。 我已经在上面显示了正在重试连接的数据节点日志... 嗨 @Rajesh N 我添加了数据节点日志的快照 在主节点和从节点的/etc/hosts 文件中注释127.0.1.1 行并尝试重新启动hadoop。 感谢您回复@RajeshN,但您的解决方案给了我 'java.net.UnknownHostException: ubuntu: ubuntu' 【参考方案1】:

你配置 ssh 吗?尝试使用 ssh 登录其他节点检查 ssh 连接。

【讨论】:

是的@gwgyk 我能够从一台机器 ssh 到另一台机器 嗨@gwgyk 我能够从主机到从机 ssh,但不能从从机到主机做同样的事情它给了我'ssh:连接到主机主机端口 22:网络无法访问' 你是否将其他节点的公钥附加到从节点的authorized_keys文件中?您应该了解如何配置 ssh。

以上是关于在点击 jps 命令时,Datanode 未显示的主要内容,如果未能解决你的问题,请参考以下文章

hadoop安装完成jps怎么没有datanode

如何查看hadoop集群是不是安装成功(用jps命令

加载 FSImage 文件失败! ||怎么解决

hadoop执行jps发现没有 DataNode 或 NameNode

hadoop dfsadmin -report命令显示的是0个datanode

hadoop中的namenode和datanode都启动了,输入jps为啥只有一个4018Jps