2014-09-18 16 views
0

我试图在Oozie的工作流运行一组步骤上的Java程序的Oozie的工作流程。其中一个步骤涉及运行一个从job.properties.template文件中读取参数的java程序。我如何在Azure HDInsight群集上进行调度(我已经有一个群集正在运行)。如何安排一个运行HDInsight集群

此外,有没有什么办法让上像我们ssh到一个EMR集群的主节点的方式HDInsight集群的头节点。我在某处阅读了关于RDP(远程桌面协议)的内容。如果有人能够提供更多与此相关的指针,那将会很有用。

回答

0

要在HDinsight远程桌面中执行java程序,请尝试此操作。

  1. 将你的jar添加到lib文件夹并添加你的属性,xml文件,然后将它移动到你的blob存储。

实施例:

WorkfLow.xml

<workflow-app name="WorkflowJavaMainAction" xmlns="uri:oozie:workflow:0.2"> 

<start to="javaMainAction"/> 

<action name="javaMainAction"> 

<java> 

<job-tracker>jobtrackerhost:9010</job-tracker> 

<name-node>wasb://[email protected]</name-node> 


<configuration> 

<property> 

<name>mapred.job.queue.name</name> 

<value>default</value> 

</property> 

</configuration> 

<main-class>packagename.classname</main-class> 

</java> 

<ok to="end"/> 

<error to="killJobAction"/> 

</action> 

<kill name="killJobAction"> 

<message>"Killed job due to error: ${wf:errorMessage(wf:lastErrorNode())}"</message> 

</kill> 

<end name="end" /> 

</workflow-app> 

Coordiantor.xml:

<coordinator-app end="${endTime}" frequency="${frequency}" name="sample_update" start="${startTime}" timezone="${timezone}" xmlns="uri:oozie:coordinator:0.2"> 

<controls> 

     <timeout>5</timeout> 

     <concurrency>1</concurrency> 

</controls> 

<action> 

<workflow> 

<app-path>wasb://[email protected]/user/hdp/ooziejava/workflow.xml</app-path> 

</workflow> 

</action> 

</coordinator-app> 

Job.properites

oozie.use.system.libpath=true 

oozie.coord.application.path=wasb://[email protected]/user/hdp/ 
ooziejava/coordinator.xml 

startTime=2014-11-16T07:30Z 

endTime=2014-11-23T04:50Z 

frequency=15 

timezone=GMT+0530 
相关问题