我正在运行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似乎是其他人有同样的问题,但线程已经死了。
答案 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>