2

prepareフォルダーを削除および作成する通常のコマンドを実行する Java Oozie アクションを実行しています。022作成されたフォルダーには(クラスターのデフォルト) のumask がありますが、002.

ワークフローjob.propertiesにはfs.permissions.umask-mode=002. ただし、ジョブの実行中にアクションに渡される構成を見ると、この値は使用されておらず、デフォルトの umask022が使用されています。

fs.permissions.umask-mode=002は Ambari 内でロックされていないため、変更できます。また、Ambari 内の他の変数job.propertiesは正しく伝達されます。globalまた、アクションを格納するサブワークフローのタグやアクション自体など、他の場所に umask プロパティを配置しようとしても失敗しました。

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>

私は自分のプロジェクトの1つでそれを使用しましたが、うまくいきます。dfs.umaskの代わりに古いプロパティを使用することもできますfs.permissions.umask-mode

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

またはoozie.launcher.、シェル アクションが Oozie の「ランチャー」マップ タスクとして実行されるため、プレフィックスを付けてみてください。このようなタスクは通常の構成プロパティを使用しません。

<configuration>
  <property>
    <name>oozie.launcher.fs.permissions.umask-mode</name>
    <value>002</value>
  </property>
</configuration>
于 2015-04-22T17:53:09.023 に答える