Hadoop 从节点的 NodeManager 无法启动

一、问题描述

日志文件信息如下:

2019-07-18 11:20:28,104 INFO  nodemanager.NodeManager (LogAdapter.java:info(45)) - registered UNIX signal handlers for [TERM, HUP, INT]
2019-07-18 11:20:29,069 INFO  recovery.NMLeveldbStateStoreService (NMLeveldbStateStoreService.java:openDatabase(963)) - Using state database at /var/log/hadoop-yarn/nodemanager/recovery-state/yarn-nm-state for recovery
2019-07-18 11:20:29,103 INFO  service.AbstractService (AbstractService.java:noteFailure(272)) - Service org.apache.hadoop.yarn.server.nodemanager.recovery.NMLeveldbStateStoreService failed in state INITED; cause: org.fusesource.leveldbjni.internal.NativeDB$DBException: IO error: /var/log/hadoop-yarn/nodemanager/recovery-state/yarn-nm-state/MANIFEST-000002: No such file or directory
org.fusesource.leveldbjni.internal.NativeDB$DBException: IO error: /var/log/hadoop-yarn/nodemanager/recovery-state/yarn-nm-state/MANIFEST-000002: No such file or directory
    at org.fusesource.leveldbjni.internal.NativeDB.checkStatus(NativeDB.java:200)
    at org.fusesource.leveldbjni.internal.NativeDB.open(NativeDB.java:218)
    at org.fusesource.leveldbjni.JniDBFactory.open(JniDBFactory.java:168)
    at org.apache.hadoop.yarn.server.nodemanager.recovery.NMLeveldbStateStoreService.openDatabase(NMLeveldbStateStoreService.java:966)
    at org.apache.hadoop.yarn.server.nodemanager.recovery.NMLeveldbStateStoreService.initStorage(NMLeveldbStateStoreService.java:953)
    at org.apache.hadoop.yarn.server.nodemanager.recovery.NMStateStoreService.serviceInit(NMStateStoreService.java:200)
    at org.apache.hadoop.service.AbstractService.init(AbstractService.java:163)
    at org.apache.hadoop.yarn.server.nodemanager.NodeManager.initAndStartRecoveryStore(NodeManager.java:178)
    at org.apache.hadoop.yarn.server.nodemanager.NodeManager.serviceInit(NodeManager.java:220)
    at org.apache.hadoop.service.AbstractService.init(AbstractService.java:163)
    at org.apache.hadoop.yarn.server.nodemanager.NodeManager.initAndStartNodeManager(NodeManager.java:546)
    at org.apache.hadoop.yarn.server.nodemanager.NodeManager.main(NodeManager.java:594)
2019-07-18 11:20:29,106 INFO  service.AbstractService (AbstractService.java:noteFailure(272)) - Service NodeManager failed in state INITED; cause: org.apache.hadoop.service.ServiceStateException: org.fusesource.leveldbjni.internal.NativeDB$DBException: IO error: /var/log/hadoop-yarn/nodemanager/recovery-state/yarn-nm-state/MANIFEST-000002: No such file or directory
org.apache.hadoop.service.ServiceStateException: org.fusesource.leveldbjni.internal.NativeDB$DBException: IO error: /var/log/hadoop-yarn/nodemanager/recovery-state/yarn-nm-state/MANIFEST-000002: No such file or directory
    at org.apache.hadoop.service.ServiceStateException.convert(ServiceStateException.java:59)
    at org.apache.hadoop.service.AbstractService.init(AbstractService.java:172)
    at org.apache.hadoop.yarn.server.nodemanager.NodeManager.initAndStartRecoveryStore(NodeManager.java:178)
    at org.apache.hadoop.yarn.server.nodemanager.NodeManager.serviceInit(NodeManager.java:220)
    at org.apache.hadoop.service.AbstractService.init(AbstractService.java:163)
    at org.apache.hadoop.yarn.server.nodemanager.NodeManager.initAndStartNodeManager(NodeManager.java:546)
    at org.apache.hadoop.yarn.server.nodemanager.NodeManager.main(NodeManager.java:594)

.......

二、解决办法一

i. 删除 yarn-nm-state 目录的所有文件再次启动

[root@zwlbs3 ~]# cd /var/log/hadoop-yarn/nodemanager/recovery-state/yarn-nm-state/
[root@zwlbs3 yarn-nm-state]# ls
000003.log  CURRENT  LOCK  MANIFEST-000002
[root@zwlbs3 yarn-nm-state]# rm -rf *

ii. 再次启动 NodeManager 组件

我这里使用的是 Ambari 来管理的,直接就Web界面操作,也可以使用命令操作启动。

iii. 查看是否启动成功,已启动成功

[root@zwlbs3 ~]# jps
4832 DataNode
11425 Jps
7091 HRegionServer
3894 NodeManager

三、解决办法二(如果办法一无效,试试办法二)

i. 如果过一会变成 stop 状态,报错日志跟上面相同,如下:

2019-08-07 17:14:01,850 INFO  nodemanager.NodeManager (LogAdapter.java:info(45)) - registered UNIX signal handlers for [TERM, HUP, INT]
2019-08-07 17:14:02,859 INFO  recovery.NMLeveldbStateStoreService (NMLeveldbStateStoreService.java:openDatabase(963)) - Using state database at /var/log/hadoop-yarn/nodema
nager/recovery-state/yarn-nm-state for recovery
2019-08-07 17:14:02,891 INFO  service.AbstractService (AbstractService.java:noteFailure(272)) - Service org.apache.hadoop.yarn.server.nodemanager.recovery.NMLeveldbStateSt
oreService failed in state INITED; cause: org.fusesource.leveldbjni.internal.NativeDB$DBException: IO error: /var/log/hadoop-yarn/nodemanager/recovery-state/yarn-nm-state/
MANIFEST-000002: No such file or directory
org.fusesource.leveldbjni.internal.NativeDB$DBException: IO error: /var/log/hadoop-yarn/nodemanager/recovery-state/yarn-nm-state/MANIFEST-000002: No such file or directory
        at org.fusesource.leveldbjni.internal.NativeDB.checkStatus(NativeDB.java:200)
        at org.fusesource.leveldbjni.internal.NativeDB.open(NativeDB.java:218)
        at org.fusesource.leveldbjni.JniDBFactory.open(JniDBFactory.java:168)
        at org.apache.hadoop.yarn.server.nodemanager.recovery.NMLeveldbStateStoreService.openDatabase(NMLeveldbStateStoreService.java:966)
        at org.apache.hadoop.yarn.server.nodemanager.recovery.NMLeveldbStateStoreService.initStorage(NMLeveldbStateStoreService.java:953)
        at org.apache.hadoop.yarn.server.nodemanager.recovery.NMStateStoreService.serviceInit(NMStateStoreService.java:200)
        at org.apache.hadoop.service.AbstractService.init(AbstractService.java:163)
        at org.apache.hadoop.yarn.server.nodemanager.NodeManager.initAndStartRecoveryStore(NodeManager.java:178)
        at org.apache.hadoop.yarn.server.nodemanager.NodeManager.serviceInit(NodeManager.java:220)
        at org.apache.hadoop.service.AbstractService.init(AbstractService.java:163)
        at org.apache.hadoop.yarn.server.nodemanager.NodeManager.initAndStartNodeManager(NodeManager.java:546)
        at org.apache.hadoop.yarn.server.nodemanager.NodeManager.main(NodeManager.java:594)
2019-08-07 17:14:02,895 INFO  service.AbstractService (AbstractService.java:noteFailure(272)) - Service NodeManager failed in state INITED; cause: org.apache.hadoop.servic
e.ServiceStateException: org.fusesource.leveldbjni.internal.NativeDB$DBException: IO error: /var/log/hadoop-yarn/nodemanager/recovery-state/yarn-nm-state/MANIFEST-000002:
No such file or directory
org.apache.hadoop.service.ServiceStateException: org.fusesource.leveldbjni.internal.NativeDB$DBException: IO error: /var/log/hadoop-yarn/nodemanager/recovery-state/yarn-nm
-state/MANIFEST-000002: No such file or directory
.......

ii. 删除 yarn-nm-state 目录的所有文件

[root@zwlbs3 ~]# cd /var/log/hadoop-yarn/nodemanager/recovery-state/yarn-nm-state/
[root@zwlbs3 yarn-nm-state]# ls
000003.log  CURRENT  LOCK  MANIFEST-000002
[root@zwlbs3 yarn-nm-state]# rm -rf *

iii. 重启该服务器的整个Hadoop

命令行操作请自行到 Hadoop 目录下重启所有组件即可。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
HadoopNodeManager无法启动时,可能是由于以下一些常见问题引起的: 1. 配置错误:请检查NodeManager的配置文件,确保文件中的属性和值都是正确的。例如,确保NodeManager所在的机器的IP地址和端口号正确设置。 2. 权限问题:确保NodeManager所在的目录和文件的权限正确设置,并确保Hadoop用户有足够的权限来读取和写入相关的文件和目录。 3. 网络问题:请确保NodeManager所在的机器可以与Hadoop集群的其他节点进行通信。如果NodeManager无法连接到其他节点,则可能会导致启动失败。 4. 资源限制:请确保NodeManager所在的机器上有足够的内存和CPU资源来启动NodeManager进程。如果机器资源不足,则可能会导致启动失败。 如果您检查了上述问题,并且问题仍然存在,请查看NodeManager的日志文件以获取更多详细信息,以确定问题的原因。您好!Hadoop NodeManagerHadoop 分布式计算框架中的一个重要组件,它负责管理运行在每个节点上的容器(Container),监控它们的资源使用情况,并与 ResourceManager 交互以获取分配给该节点的任务信息。 如果您无法启动 NodeManager,可以尝试以下几个步骤来排查问题: 1. 检查 NodeManager 的配置文件是否正确:NodeManager 的配置文件通常位于 Hadoop 的安装目录下的 /etc/hadoop 目录中,文件名为 yarn-site.xml。确保配置文件中的参数设置正确,特别是关于 ResourceManager 的地址和端口号等参数。 2. 检查 NodeManager 的日志文件:NodeManager 的日志文件通常位于 Hadoop 的安装目录下的 logs 目录中,文件名为 yarn-yarn-nodemanager-<hostname>.log。检查日志文件中是否有任何错误或异常信息,以确定问题的原因。 3. 检查节点的网络连接和状态:NodeManager 需要与 ResourceManager 进行通信,因此请确保节点可以与 ResourceManager 正确通信。您可以尝试使用 telnet 命令测试节点是否可以连接到 ResourceManager 的端口,例如 telnet <ResourceManager IP> <ResourceManager Port>。 4. 检查节点的资源使用情况:NodeManager 运行的容器需要消耗一定的系统资源,如 CPU、内存等。请确保节点的资源使用情况正常,并且没有其他进程或服务占用了过多的资源,导致 NodeManager 无法启动。 希望这些建议对您有所帮助!如果问题仍然存在,请提供更多详细信息,以便我们更好地帮助您解决问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值