使用 kerberos spnego (yarn.resourcemanager.webapp.address:8088/cluster) 通过 chrome 浏览器访问 yarn 资源管理器 Web UI 时发生授权失败。
失败如下所示:
"HTTP ERROR 403 Problem accessing /cluster. Reason: GSSException: Failure unspecified at GSS-API level (Mechanism level: Request is a replay (34))"
附言。它成功地访问了其他(名称节点,作业历史等)Web UI,但是yarn资源管理器通过chrome浏览器与kerberos spnego进行
Hadoop 是 2.5.2
有人可以帮助我检查这个问题。
这个问题可以通过设置来解决:
"yarn.resourcemanager.webapp.delegate-token-auth-filter.enabled=false"
在纱线站点.xml的Hadoop-2.5.2
YARNAuthenticationFilter 可以通过webapp 默认请求过滤器链中的"false"值忽略:chain=NoCacheFilter->NoCacheFilter->safety->YARNAuthenticationFilter->authentication->guice->default
到一个为:chain=NoCacheFilter->NoCacheFilter->safety->authentication->guice->default
没有指示浏览器使用连接到某些域的 Kerberos 身份验证时,在使用 Kerberized 群集安装时,您会得到此信息 - 这是某些 Hadoop Web 应用程序所必需的。
例如,对于OSX上的Chrome,只需在控制台中输入:
defaults write com.google.Chrome AuthServerWhitelist "*.domain.realm"
defaults write com.google.Chrome AuthNegotiateDelegateWhitelist "*.domain.realm"
其中domain.realm
是 Kerberos 配置文件/etc/krb5.conf
中的[domain_realm]
条目。