2015-07-30 2 views
-1

Я пытаюсь запустить сценарий оболочки на Oozie.First, я выбрал путь к файлу сценария оболочки, после чего я добавил аргументы для запуска файла сценария оболочки. Когда я пытаюсь запустить oozie worflow, как таковой, он переходит в цикл, который убивается через 10 секунд.Как установить путь в рабочих процессах oozie?

Я также добавил переменную окружения, установив путь к папке вывода в HDFS. Когда я запускаю его, он снова запускается в цикл, который убивается через 10 секунд. Я не могу понять, как установить путь. Пожалуйста помоги.

+0

Может быть, вы можете редактировать свой вопрос, чтобы включить фактические команды, которые выполняются, чем просто опишите их. Также вы можете публиковать соответствующие фрагменты из любых журналов. См. Stackoverflow.com/help/how-to-ask –

ответ

0

Ваш вопрос непонятен, Но я пытаюсь запустить Shell Script с использованием рабочего процесса Oozie, где аргументы Shell Script будут проходить от Oozie it self.

Если мое понимание правильное, вы можете передать переменную Argument из Oozie через файл coordinator.properties/coordinator.xml/workflow.xml.

Пример: let say У вас есть сценарий оболочки, который будет выполнять distcp каждый раз, когда он будет выполняться до местоположения dfs anothere.

Shell Script:

> hadoop dfs -rmr destination_location 
> hadoop distcp hdfs://<source_dfs><source_dfs_location> hdfs://<destination_dfs><destination_dfs_location> 

workflow.xml: 



<action name="shellAction"> 
     <shell xmlns="uri:oozie:shell-action:0.1"> 
      <job-tracker>${jobTracker}</job-tracker> 
      <name-node>${nameNode}</name-node> 
      <configuration> 
       <property> 
        <name>oozie.launcher.mapred.job.queue.name</name> 
        <value>default</value> 
       </property> 
      </configuration> 
      <exec>shell_script.sh</exec> 
         <file>hdfs://<dfs:port>/<dfs_location/shell_script.sh></file> 
      <capture-output/> 
     </shell> 
     <ok to="end"/> 
     <error to="killAction"/> 
    </action> 
     <kill name="killAction"> 
       <message>Shell Action Failed, error message[${wf:errorMessage(wf:lastErrorNode())}]</message> 
    </kill> 

Примечание: Действие Shell chould быть определены в oozie_site.xml Belive это поможет U некоторую точку