使用不同用户执行yarn-session创建Flink集群失败
问题背景与现象
使用Flink过程中,具有两个相同权限用户testuser和bdpuser。
使用用户testuser创建Flink集群正常,但是切换至bdpuser用户创建Fllink集群时,执行yarn-session.sh命令报错:
2019-01-02 14:28:09,098 | ERROR | [main] | Ensure path threw exception | org.apache.flink.shaded.curator.org.apache.curator.framework.imps.CuratorFrameworkImpl (CuratorFrameworkImpl.java:566) org.apache.flink.shaded.zookeeper.org.apache.zookeeper.KeeperException$NoAuthException: KeeperErrorCode = NoAuth for /flink/application_1545397824912_0022
可能原因
高可用配置项未修改。
由于在Flink的配置文件中,“high-availability.zookeeper.client.acl”默认为“creator”,仅创建者有权限访问,新用户无法访问ZooKeeper上的目录导致yarn-session.sh执行失败。
解决办法
- 修改客户端配置文件“conf/flink-conf.yaml”中配置项“high-availability.zookeeper.path.root”,例如:
high-availability.zookeeper.path.root: flink2
- 重新提交Flink任务。