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

回复