我们有一个运行HDP 2.2.0.0的Hadoop集群。
我们有另一个运行HDP 2.2.4.2的Hadoop集群。
我们有一个带有Hive操作的Oozie工作流,可以在第一个使用HDP 2.2.0.0的群集上正常运行。
但是在运行HDP 2.2.4.2的第二个集群中,同样的确切工作流程失败,出现此错误:
Caused by: org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.security.AccessControlException): Permission denied: user=yarn, access=EXECUTE, inode="/tmp/hive/cloudfeeds":cloudfeeds:hdfs:drwx------
在日志中,我们有这个错误:
user.name=yarn
mapreduce.job.user.name=cloudfeeds
我检查了上面目录的权限:/ tmp / hive / cloudfeeds。两个群集都具有相同的权限700和所有者云馈送。
我检查了地图缩减作业日志,两个群集都有以下内容:
{{1}}
我不想关闭dfs.permissions。我也不想给目录/ tmp / hive / cloudfeeds授予权限777,我相信这会使作业成功运行。
我应该如何调试这个,更重要的是如何解决这个问题?
答案 0 :(得分:3)
我通过将此添加到hive-site.xml来解决了权限问题:
<property>
<name>hive.scratch.dir.permission</name>
<value>777</value>
<description>The permission for the user specific scratch directories that get created.</description>
</property>