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

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

十多年的银州网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。网络营销推广的优势是能够根据用户设备显示端的尺寸不同,自动调整银州建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。创新互联建站从事“银州网站设计”,“银州网站推广”以来,每个客户项目都认真落实执行。


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角色,在启动角色实例时,出现如下异常:

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

查看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

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

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

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

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

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

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


网站名称:如何解决CDH集群安装YARN无法正常启动的问题
当前网址:http://myzitong.com/article/goodpi.html