2

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

在工作流程中,job.properties我有fs.permissions.umask-mode=002. 如果我查看在作业运行时传递给操作的配置,则不会使用此值,而是使用默认的 umask 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似乎是其他人有同样的问题,但线程死了。

4

1 回答 1

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>
于 2015-04-22T17:53:09.023 回答