你好, 请问描述中的"在客户端通过Kerberos权限认证指定用户"指的具体是什么操作?
-yD security.kerberos.login.principal=xxx -yD security.kerberos.login.keytab=xxx 这两个参数的作用是在Flink中enable HadoopModule,这个Module利用UserGroupInformation来处理Kerberos认证。同时在Yarn部署中,会帮你把这个Keytab上传到yarn中的container里。 可以参照社区文档再看一下[1] [1] https://ci.apache.org/projects/flink/flink-docs-master/ops/security-kerberos.html Best, Yangze Guo On Tue, Nov 3, 2020 at 4:17 PM [email protected] <[email protected]> wrote: > > hi everyone, > > 最近使用flink-1.11.1在通过per-job方式提交任务到yarn队列的时候,碰到了kerberos权限认证问题。 > > 具体描述:在客户端通过Kerberos权限认证指定用户,提交flink任务到yarn队列,正常提交,但是当任务被yarn分配到指定节点进行执行时,根据报错信息来看,是因为需要操作hdfs(创建检查点目录和保存点目录,因为我使用FileSystem > StateBackend)而并没有获得操作hdfs的权限,被kerberos常规的拦截了。 > > 所以我通过查找社区邮件了解到,使用-yD参数可以避免这个问题,但是理论上来说在客户端通过认证并成功提交到yarn之后,无论是任务提交节点还是任务执行节点,权限都应该互通吗? > > 这里的-yD security.kerberos.login.principal=xxx -yD > security.kerberos.login.keytab=xxx是纯粹为了解决这类问题而使用的吗?帮忙解惑~ > > best, > amenhub
