Apache Ranger YARN插件未生效,队列权限控制失效求助
Ranger YARN插件策略不生效及DataNode无策略缓存问题排查
以下是可能遗漏的配置及排查要点:
1. 插件部署节点错误
Ranger YARN插件需部署在ResourceManager(RM)和NodeManager(NM)节点,而非DataNode。若你误在DataNode安装插件,NM所在节点未部署插件的话,自然无法拉取策略。
- 确认NM节点已安装Ranger YARN插件,在NM节点执行
enable.sh脚本后重启NodeManager服务。
2. Kerberos环境下插件认证配置缺失
集群启用Kerberos后,install.properties需补充Kerberos相关参数,否则插件无法通过认证连接Ranger Admin或YARN服务:
# 添加至install.properties POLICY_MGR_URL=http://你的RangerAdmin主机:6080 SSL_ENABLED=false # 若Ranger Admin用HTTPS则设为true KERBEROS_ENABLED=true KRB5_CONF_PATH=/etc/krb5.conf RANGER_ADMIN_PRINCIPAL=rangeradmin/_HOST@你的Kerberos域 RANGER_PLUGIN_PRINCIPAL=rangerplugin/_HOST@你的Kerberos域 RANGER_PLUGIN_KEYTAB=/etc/security/keytabs/rangerplugin.keytab
- 确保
yarn用户拥有对应Kerberos主体和keytab,且插件使用的主体具备访问Ranger Admin的权限。
3. YARN权限提供者配置不完整
需明确指定Ranger的授权实现类,仅开启yarn.acl.enable=true不够:
<!-- 在yarn-site.xml中添加或修改 --> <property> <name>yarn.authorization-provider</name> <value>org.apache.ranger.authorization.yarn.authorizer.RangerYarnAuthorizer</value> </property>
- 同时检查Capacity Scheduler的队列ACL配置,避免设置
*(允许所有用户),否则会绕过Ranger的权限控制。
4. Ranger策略配置未覆盖队列权限
检查yarndev仓库的策略是否正确配置:
- 策略类型选择YARN Queue,指定目标队列路径(如
root.queue1) - 为目标用户/组分配
Submit Application等必要权限 - 确保策略的「Enable」开关处于开启状态
5. 插件策略拉取日志排查
不要仅查看YARN的nodemanager.log,需检查Ranger插件专属日志:
- 查看NM节点的Ranger插件日志:
/var/log/ranger/yarndev/ranger_yarndev_plugin.log,这里会记录策略拉取的失败原因(如认证错误、网络不通) - 查看Ranger Admin日志:
/var/log/ranger/admin/ranger-admin.log,确认插件是否成功发起认证和策略请求
6. 插件配置同步与类路径检查
- 执行
enable.sh后,确认生成的ranger-yarn-security.xml等配置文件已同步至YARN的配置目录(如/etc/hadoop/conf/) - 检查YARN的类路径是否包含Ranger插件的JAR包,确保插件JAR存在于RM/NM的lib目录(如
/usr/hdp/current/hadoop-yarn-resourcemanager/lib/)
内容的提问来源于stack exchange,提问作者CompEng
相关产品推荐
相关产品推荐

