【问题标题】:Permission Issue : while running spark job from shell action in Oozie权限问题:在 Oozie 中从 shell 操作运行 spark 作业时
【发布时间】:2016-01-29 19:13:16
【问题描述】:

我正在尝试以“yarn-client”模式在 Yarn 集群上运行 spark 作业;使用 Oozie shell 操作发出 spark-submit 命令。请注意,oozie 作业是由登录用户(“my-user”)触发的,但我得到了执行权限问题。请参阅下面的日志

For more detailed output, check application tracking page:http://physrv3:8088/proxy/application_1452252389874_0018/Then, click on links to logs of each attempt.
Diagnostics: Permission denied: user=my-user, access=EXECUTE, inode="/user/yarn/.sparkStaging/application_1452252389874_0018":yarn:hdfs:drwx------
    at org.apache.hadoop.hdfs.server.namenode.DefaultAuthorizationProvider.checkFsPermission(DefaultAuthorizationProvider.java:257)
    at org.apache.hadoop.hdfs.server.namenode.DefaultAuthorizationProvider.check(DefaultAuthorizationProvider.java:238)
    at org.apache.hadoop.hdfs.server.namenode.DefaultAuthorizationProvider.checkTraverse(DefaultAuthorizationProvider.java:180)
    at org.apache.hadoop.hdfs.server.namenode.DefaultAuthorizationProvider.checkPermission(DefaultAuthorizationProvider.java:137)
    at org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.checkPermission(FSPermissionChecker.java:138)
    at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.checkPermission(FSNamesystem.java:6609)
    at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.getFileInfo(FSNamesystem.java:4223)
    at org.apache.hadoop.hdfs.server.namenode.NameNodeRpcServer.getFileInfo(NameNodeRpcServer.java:894)
    at org.apache.hadoop.hdfs.server.namenode.AuthorizationProviderProxyClientProtocol.getFileInfo(AuthorizationProviderProxyClientProtocol.java:526)
    at org.apache.hadoop.hdfs.protocolPB.ClientNamenodeProtocolServerSideTranslatorPB.getFileInfo(ClientNamenodeProtocolServerSideTranslatorPB.java:822)
    at org.apache.hadoop.hdfs.protocol.proto.ClientNamenodeProtocolProtos$ClientNamenodeProtocol$2.callBlockingMethod(ClientNamenodeProtocolProtos.java)
    at org.apache.hadoop.ipc.ProtobufRpcEngine$Server$ProtoBufRpcInvoker.call(ProtobufRpcEngine.java:617)
    at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:1060)
    at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:2086)
    at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:2082)
    at java.security.AccessController.doPrivileged(Native Method)
    at javax.security.auth.Subject.doAs(Subject.java:415)
    at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1671)
    at org.apache.hadoop.ipc.Server$Handler.run(Server.java:2080)

【问题讨论】:

  • 请使用core-site.xmlyarn-site.xml 内容编辑您的问题。您是否已将hadoop.proxyuser.[OOZIE_SERVER_USER].hosts 添加到您的core-site.xml 中?
  • 这就是你说的Mobin吗? hadoop.proxyuser.oozie.hosts*hadoop.proxyuser.oozie.groups*
  • 我们需要参考日志中的这一部分
    code 诊断:权限被拒绝:user=my-user, access=EXECUTE, inode="/user/yarn/.sparkStaging/application_1452252389874_0018 ":yarn:hdfs:drwx------code
  • 是的,改成hadoop.proxyuser.my-user.hostshadoop.proxyuser.my-user.groups
  • 感谢您的快速回复。我会做出相应的更改并验证它是否有帮助。

标签: hadoop apache-spark hadoop-yarn oozie


【解决方案1】:

如果您的 Oozie 版本小于 4.2,我建议您使用 Spark with Java Action 所述的 java 操作。

否则,如果您拥有 oozie 服务器的管理员权限,请升级到 Oozie 版本 >= 4.2.x,其中原生支持 Spark 操作。

【讨论】:

  • 感谢 Zouzias -- 通过 Java 操作运行 spark 作业已经解决了我们的权限问题。谢谢..!!!
猜你喜欢
  • 2018-12-24
  • 1970-01-01
  • 2015-05-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-05-05
  • 1970-01-01
  • 2015-12-05
相关资源
最近更新 更多