千家信息网

如何解决CDH集群安装YARN无法正常启动的问题

发表于:2024-11-23 作者:千家信息网编辑
千家信息网最后更新 2024年11月23日,本篇内容介绍了"如何解决CDH集群安装YARN无法正常启动的问题"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够
千家信息网最后更新 2024年11月23日如何解决CDH集群安装YARN无法正常启动的问题

本篇内容介绍了"如何解决CDH集群安装YARN无法正常启动的问题"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!


1 文档编写目的

在安装5.11.2版本的CDH集群时,或者为5.11.2版本的CDH集群扩容时,可能会遇到YARN的NodeManager实例无法启动的问题。本文主要讲述NodeManager无法启动的原因以及如何解决该问题。

测试环境:

操作系统版本为Redhat7.2

CM和CDH版本为5.11.2

文章目录结构:

1. 文档编写目的

2. 问题描述

3. 解决方案

3.1 问题解决

3.2 相关建议

4. 总结

2 问题描述

在使用CDH5.11.2版本时,新增YARN的NodeManager角色,在启动角色实例时,出现如下异常:

查看YARN的异常日志,异常信息如下:

7月 16, 晚上10点58:42.862分 FATAL org.apache.hadoop.yarn.server.nodemanager.NodeManager

Error starting NodeManager

org.apache.hadoop.service.ServiceStateException: org.fusesource.leveldbjni.internal.NativeDB$DBException: IO error: /var/lib/hadoop-yarn/yarn-nm-recovery/yarn-nm-state/LOCK: Permission denied

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:181)

at org.apache.hadoop.yarn.server.nodemanager.NodeManager.serviceInit(NodeManager.java:245)

at org.apache.hadoop.service.AbstractService.init(AbstractService.java:163)

at org.apache.hadoop.yarn.server.nodemanager.NodeManager.initAndStartNodeManager(NodeManager.java:562)

at org.apache.hadoop.yarn.server.nodemanager.NodeManager.main(NodeManager.java:609)

Caused by: org.fusesource.leveldbjni.internal.NativeDB$DBException: IO error: /var/lib/hadoop-yarn/yarn-nm-recovery/yarn-nm-state/LOCK: Permission denied

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:944)

at org.apache.hadoop.yarn.server.nodemanager.recovery.NMLeveldbStateStoreService.initStorage(NMLeveldbStateStoreService.java:931)

at org.apache.hadoop.yarn.server.nodemanager.recovery.NMStateStoreService.serviceInit(NMStateStoreService.java:204)

at org.apache.hadoop.service.AbstractService.init(AbstractService.java:163)

... 5 more

我在Redhat7.2操作系统上部署5.11.2版本的CDH集群以及为该版本集群扩容节点都遇到过该类问题,问题的解决方法比较简单,写这篇文章主要是想为以后规避此类问题提供一个参考。

3 解决方案

3.1 问题解决步骤

根据YARN的异常日志,可以看到提示的信息为"IO error:/var/lib/hadoop-yarn/yarn-nm-recovery/yarn-nm-state/LOCK: Permission denied"。需要登录NodeManager启动异常的节点排查问题。

1、登录bigdata29节点,查看/var/lib/hadoop-yarn/yarn-nm-recovery/目录,发现该目录为空

2、查看相关目录权限,发现hadoop-yarn目录权限为000,定位到问题

root@bigdata29:/var/lib/hadoop-yarn>ls -lrt /var/lib/ | grep hadoop-ya

d---------. 3 root root 4096 Jul 16 22:39 hadoop-yarn

3、更改hadoop-yarn目录权限为755

4、重启bigdata29的NodeManager角色实例,能够正常启动

3.2 相关建议

在添加NodeManager之前,在相关节点上手动创建/var/lib/hadoop-yarn目录,可以避免出现该问题。如果节点数量太多,可通过批量执行命令脚本创建目录。

4 总结

在使用CDH5.11.2版本时,新增YARN的NodeManager角色,可能会出现/var/lib/hadoop-yarn/目录权限为000的问题,出现该问题时,需要将目录权限改为755,然后重启NodeManager。要避免该问题可以提前创建/var/lib/hadoop-yarn/

"如何解决CDH集群安装YARN无法正常启动的问题"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!

0