Я создаю oozie worklow, где мне нужно иметь многократные действия оболочки, но я столкнулся с проблемой, что для каждого действия оболочки, которое у меня есть в моем рабочем процессе, я должен объявить переменную среды, означающую, что если у меня есть 10 действий оболочки I нужно объявить 10 раз, мой вопрос: если есть какой-либо способ, я могу объявить/создать глобальные переменные, чтобы избежать дублирования переменных, которые делают то же самое?Как создать/объявить глобальные переменные в oozie?
Пример:
jon.properties
oozie.use.system.libpath=true
security_enabled=False
dryrun=False
nameNode=hdfs://localhost:8020
user_name=test
jobTracker=localhost::8032
<workflow-app name="My_Workflow" xmlns="uri:oozie:workflow:0.5">
<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>/user/hive/script1.sh#script1.sh</file>
</shell>
<ok to="End"/>
<error to="Kill"/>
</action>
<end name="End"/>
мой script1.sh ожидает параметр назван user_name, который у меня есть он заявил в job.properties, но это не работает в моей работе я получаю без вести аргумент имя пользователя
Я хотел бы знать, как я могу отправить параметры сценария оболочки из глобального файла конфигурации
Благодарности
Возможный дубликат [Укорачивание Oozie рабочие процессы] (HTTP: // StackOverflow.com/questions/24327264/shortening-oozie-workflows) – YoungHobbit
Спасибо, но это не работает в моем случае, я смог объявить переменную, но я не получаю значение в скрипте оболочки – jthalliens
Можете ли вы предоставить образец что вы пробовали и о том, что/где он не работает. – YoungHobbit