【发布时间】:2018-06-15 14:32:49
【问题描述】:
在安全的 Hadoop 集群中,我尝试从 YARN 访问 Flink AM 页面和日志,并看到以下错误:
User %remoteUser are not authorized to view application %appID
似乎原因是 Flink 方面缺乏对 YARN 中的 ACL 的支持。
代码的工作原理
消息来自使用 ApplicationACLsManager 类的 hadoop/yarn/server/AppBlock 类。此类执行检查并引用在 RMAppManager 中设置的应用程序信息:
this.applicationACLsManager.addApplication(applicationId,
submissionContext.getAMContainerSpec().getApplicationACLs()
AMContainerSpec 是 ContainerLaunchContext 类,具有 PB 实现,从框架端提交。
在 Flink 中,此对象是在 AbstractYarnClusterDescriptor 类中创建的,该类(以及 Flink 中的其他类)不调用 setApplicationACLs。
问题
有没有办法绕过这个,或者正确的解决方案是为 Flink 提供支持?从 Flink 端看这个特性是什么状态?
【问题讨论】:
标签: hadoop hadoop-yarn apache-flink