我最近将 HDP 从 2.6.5 升级到 3.1.0,它运行 YARN 3.1.0,并且我无法再使用旧的 (:8088/cluster/apps) 或新的 (:8088) 从 YARN ResourceManager UI 终止应用程序/ui2/index.html#/yarn-apps/apps) 版本。我仍然可以使用 RHEL 7 中的 shell 和yarn app -kill {app-id} 来杀死它们
这些申请是通过 Livy 提交的。这是我的工作流程:
打开 ResourceManagerUI,打开应用程序,单击“设置”并选择“终止应用程序”。请注意,“登录身份:”设置为 UNKNOWN_USER:
确认我要终止该应用程序:
我在 UI 中收到以下错误:
在 Chrome 中打开控制台,我看到 401(未经授权)错误。
如果我从旧用户界面尝试此操作,我可以展开错误消息并显示以下内容:
{"RemoteException":{"exception":"AuthorizationException","message":"Unable to obtain user name, user not authenticated","javaClassName":"org.apache.hadoop.security.authorize.AuthorizationException"}}
我读了很多帖子,验证并更改了几个设置,试图解决这个问题,但没有成功。以下是我根据研究检查或更改的一些设置:
hadoop.http.filter.initializers=org.apache.hadoop.security.HttpCrossOriginFilterInitializer,org.apache.hadoop.http.lib.StaticUserWebFilter
hbase.security.authentication=simple
hbase.security.authorization=false
yarn.nodemanager.webapp.cross-origin.enabled=true
yarn.resourcemanager.webapp.cross-origin.enabled=true
yarn.resourcemanager.webapp.delegation-token-auth-filter.enabled=false
yarn.resourcemanager.webapp.ui-actions.enabled=true
yarn.timeline-service.http-authentication.simple.anonymous.allowed=true
yarn.timeline-service.http-authentication.type=simple
yarn.webapp.api-service.enable=true
yarn.webapp.ui2.enable=true
ranger.add-yarn-authorization=false
其中一些对我来说似乎很离谱,比如 hbase 的东西,因为我认为这与我所看到的没有任何关系。然而,有些用户在其他情况下认为它对他们有用,所以我想尝试一下。
通过深入研究文档,您似乎需要先进行身份验证,然后才能调用 API。然而,2.6.5 的文档中也包含相同的语言,这是我之前运行的 YARN 版本。
希望有人可以向我指出文档,更清楚地概述我可以采取哪些措施来解决该问题。
提前致谢。