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