Есть ли способ, которым я могу объявить HADOOP_USER_NAME как глобальную переменную в рабочем процессе oozie? на самом деле я создаю несколько действий оболочки для своего проекта, но не эффективно объявлять HADOOP_USER_NAME для каждого действия оболочки, поэтому мне интересно, может ли глобальная переменная иметь место в этом сценарии, если да, то как я могу продолжить ее. ..глобальная переменная HADOOP_USER_NAME oozie?
Ваша помощь очень ценится.
Это код, я использую
<workflow-app name="My_Workflow" xmlns="uri:oozie:workflow:0.5">
<global>
<configuration>
<property>
<name>HADOOP_USER_NAME</name>
<value>*****</value>
</property>
</configuration>
</global>
<start to="shell-a0a5"/>
<kill name="Kill">
<message>Error [${wf:errorMessage(wf:lastErrorNode())}]</message>
</kill>
<action name="shell-a0a5">
<shell xmlns="uri:oozie:shell-action:0.1">
<job-tracker>${jobTracker}</job-tracker>
<name-node>${nameNode}</name-node>
<exec>script1.sh</exec>
<file>script1.sh#script1.sh</file>
</shell>
<ok to="End"/>
<error to="Kill"/>
</action>
<end name="End"/>
по какой-то причине я не получаю значение из HADOOP_USER_NAME, возможно, я делаю это неправильно, я должен записать его в файл оболочки как экспорт HADOOP_USER_NAME = ****;
"Свойства" в вашем Oozie сценарии являются ** ява свойства **, которые передаются в класс Oozie "пусковой". Они не являются переменными среды !!! –
И вообще, только «основные» действия Oozie наследуют глобальные свойства. Не действия оболочки/улья/sqoop/spark, которые на самом деле являются плагинами, со своей собственной XML-схемой. См. Первую часть этого ответа: http://stackoverflow.com/questions/38337362/oozie-properties-defined-in-file-referenced-in-global-job-xml-not-visible-in-wo/38338713# 38338713 –