自学内容网 自学内容网

cdp集群yarn组件ResourceManager无法启动问题记录

前言:cdp集群装了Kerberos认证,在进行权限集成时集群所有组件高可用状态失效,yarn组件ResourceManager停止

查看ResourceManager组件日志,报错如下:

Error starting ResourceManager
org.apache.hadoop.service.ServiceStateException: org.apache.zookeeper.KeeperException$NoAuthException: KeeperErrorCode = NoAuth for /rmstore/ZKRMStateRoot

初步分析,怀疑可能和zookeeper有关
查看zookeeper组件状态,三个节点一切正常

查看zookeeper日志,所有节点日志统一输出

Submitting global closeSession request for session 0x10005e3ff990515

这看着肯定有问题,估计是权限啥的

问问万能的chatgpt,怎么回答的:

ResourceManager 在启动过程中遇到了 Zookeeper 认证权限的问题。具体来说,出现了 “NoAuthException: KeeperErrorCode = NoAuth for /rmstore/ZKRMStateRoot”。

关于zookeeper上面的报错,我把连接指定ip了

[zk: localhost:2181(CONNECTED) 9] getAcl /
'world,'anyone
: cdrwa
[zk: localhost:2181(CONNECTED) 10] setAcl / ip:172.21.32.231:cdrwa,ip:172.21.33.158:cdrwa,ip:172.21.35.239:cdrwa
[zk: localhost:2181(CONNECTED) 11] getAcl /
Authentication is not valid : /

改完后,重启zk,就没出那个日志了

但是RM这边的问题还没解决,这边去官网上又看了一下,说是有两种解决方案
官网连接:Known Issues in MapReduce, Apache Hadoop YARN, and YARN Queue Manager
说是因为更改了 Kerberos 主体名称,导致YARN 无法启动

1.删除 znode 并重新启动 YARN 服务。

2.使用命令。这也将下面的 znode 设置为安全性较低的节点。reset ZK ACLs/rmstore/ZKRMStateRoot world:anyone:cdrwa

我又去zk上面看看打算把znode节点删除试试,结果又出幺蛾子了

zookeeper要我权限认证,现在连最基本的ls都看不了了
可能跟我上面的操作有关系
现在人有点麻

找到问题了,之前设置的是指定三台节点登录才行
所以本地进入也无法访问,指定ip登录

[root@cloudcdp01 bin]# ./zkCli.sh -server 172.21.32.231:2181
Connecting to 172.21.32.231:2181
Welcome to ZooKeeper!
JLine support is enabled

WATCHER::

WatchedEvent state:SyncConnected type:None path:null
[zk: 172.21.32.231:2181(CONNECTED) 0] ls /
[confstore, hadoop-ha, hbase, hiveserver2, kafka, rmstore, yarn-leader-election, zookeeper]
[zk: 172.21.32.231:2181(CONNECTED) 1] 

要想取消也简单,在重新设置一下就好

setAcl / world:anyone:cdrwa

查看权限

[zk: localhost:2181(CONNECTED) 3] getAcl /
'world,'anyone
: r

关于前面那个ResourceManager日志问题,我找到办法了

就是去zookeeper节点上,把这个/rmstore/ZKRMStateRoot目录文件的权限打开就行了
但是又出现了一个问题

[zk: localhost:2181(CONNECTED) 0] ls /
[confstore, hadoop-ha, hbase, hiveserver2, kafka, rmstore, yarn-leader-election, zookeeper]
[zk: localhost:2181(CONNECTED) 1] setAcl /rmstore/ZKRMStateRoot world:anyone:cdrwa
Authentication is not valid : /rmstore/ZKRMStateRoot
[zk: localhost:2181(CONNECTED) 2] 

对这个目录没有权限操作,又去找资料
官网上找到一篇,对于这种情况,使用增加超级管理员的方式,然后用超级管理员进行目录权限的修改。
Zookeeper - Super User Authentication and Authorization
如果按照上面的操作可以的话,弄完直接重启集群就会好了

里面一堆操作,应该可行,我目前还没试,在找找有没有更好的办法,有的话再分享。


原文地址:https://blog.csdn.net/M_red/article/details/136866271

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!