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
如果按照上面的操作可以的话,弄完直接重启集群就会好了

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


这个Acl权限问题折磨了我好几天,今天终于找到了
配什么超级管理员,麻烦的要死,之前找了一堆文章,什么加认证啥的,反正是没成功过。
有直接修改zoo.cfg的我没成功。

直接去zookeeper配置里找Server高级配置代码段(安全阈),在文本框里加这个

skipACL=yes

直接禁用,然后重启就好了。
果然高端的食材仅仅只需要简单的烹饪方式

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值