覆盖Oozie中的fs.permissions.umask-mode

时间:2015-01-29 12:05:27

标签: hadoop oozie umask

我正在运行Java Oozie操作,该操作运行删除和创建文件夹的常用prepare命令。创建的文件夹的umask为022(群集默认值),但我希望它有002

在工作流程job.properties中我有fs.permissions.umask-mode=002。如果我查看作业运行时传递给操作的配置,则不使用此值,并使用默认的u 022

fs.permissions.umask-mode=002未锁定在Ambari中,因此可以更改,job.properties中的其他变量也会被正确传播。我还尝试将umask属性放在其他位置,例如在容纳操作的子工作流中的global标记中,以及在操作本身中。

http://grokbase.com/t/cloudera/cdh-user/134pysstcq/cdh4-2-oozie-ignores-fs-permissions-umask-mode似乎是其他人有同样的问题,但线程已经死了。

1 个答案:

答案 0 :(得分:0)

您可以尝试在workflow.xml中添加以下属性以执行操作:

<configuration>
  <property>
    <name>fs.permissions.umask-mode</name>
    <value>002</value>
  </property>
</configuration>

我在我的一个项目中使用过它,并且它有效。您也可以尝试使用旧版权dfs.umask代替fs.permissions.umask-mode

<configuration>
  <property>
    <name>dfs.umask</name>
    <value>2</value>
  </property>
</configuration>

或者尝试前缀oozie.launcher.,因为shell操作作为oozie“启动器”映射任务执行,并且此类任务不使用常规配置属性:

<configuration>
  <property>
    <name>oozie.launcher.fs.permissions.umask-mode</name>
    <value>002</value>
  </property>
</configuration>