2015-01-29 3 views
2

Я запускаю действие Java Oozie, которое запускает обычные команды удаления и создания папки prepare. Созданная папка имеет umask от 022 (кластер по умолчанию), но я хочу, чтобы он имел 002.Переопределение fs.permissions.umask-mode в Oozie

В рабочем процессе 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 похоже, кто-то другой с той же проблемой, но нить умерла.

ответ

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., как действия оболочки выполнены в качестве oozie «запуск» карты задач, и эти задачи не использовать обычные конфигурационные свойства:

<configuration> 
    <property> 
    <name>oozie.launcher.fs.permissions.umask-mode</name> 
    <value>002</value> 
    </property> 
</configuration> 
Смежные вопросы