【问题标题】:Tez job fails when submitting by different user由不同用户提交时,Tez 作业失败
【发布时间】:2023-12-12 03:36:01
【问题描述】:

配置了具有 Kerberos 安全性的 Hadoop-2.6.0 高可用性集群。使用 tez-example-0.6.0.jar 在 yarn-tez 框架中从不同用户提交示例作业时,得到以下异常

例外

java.io.IOException: The ownership on the staging directory hdfs://clustername/tmp/staging is not as expected. It is owned by Kumar. The directory must be owned by the submitter TestUser or by TestUser

该目录具有完全权限,但仍然出现上述异常。但是在yarn-tez 框架中使用mapreduce-examples-2.6.0.jar 提交作业时,作业成功完成。

命令

yarn jar C:\Tez\tez-examples-0.6.0.jar orderedwordcount -Dmapreduce.framework.name=yarn-tez  /user/Kumar/names /user/Kumar/names1

我们将不胜感激。

【问题讨论】:

    标签: java hadoop kerberos hadoop-yarn apache-tez


    【解决方案1】:

    在您的 tez-site.xml 中设置以下内容:

    <property>
       <name>tez.staging-dir</name>
       <value>/tmp/${user.name}/tez/staging/</value>
    </property>
    

    当前的暂存目录似乎配置为使用 /clustername/tmp/staging/ 最终导致多个用户使用相同的路径导致权限冲突。

    如果使用 /clustername/tmp 作为前缀,请务必预先创建 tmp 目录并对其拥有 777 权限。

    【讨论】:

      最近更新 更多