我正在尝试在oozie工作流程中运行一系列步骤。其中一个步骤涉及运行一个java程序,该程序从job.properties.template文件中读取参数。如何在Azure HDInsight群集上安排此操作(我已经运行了群集)。
此外,有没有办法像我们ssh到EMR集群的主节点那样进入HDInsight集群的头节点。我在某处读到了RDP(远程桌面协议)。如果有人能提供更多与此相关的指针,那将会非常有用。
答案 0 :(得分:0)
这些文章为您提供了在HDInsight中使用Oozie和Oozie协调员的一些基本想法:
http://azure.microsoft.com/en-us/documentation/articles/hdinsight-use-oozie/ http://azure.microsoft.com/en-us/documentation/articles/hdinsight-use-oozie-coordinator-time/
本文介绍Java MapReduce程序的开发和部署:
http://azure.microsoft.com/en-us/documentation/articles/hdinsight-develop-deploy-java-mapreduce/
答案 1 :(得分:0)
要在HDinsight远程桌面执行java程序,请试试这个。
示例:
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://xxx@yyy.blob.core.windows.net</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://xxx@yyy.blob.core.windows.net/user/hdp/ooziejava/workflow.xml</app-path>
</workflow>
</action>
</coordinator-app>
Job.properites
oozie.use.system.libpath=true
oozie.coord.application.path=wasb://xxx@yyy.blob.core.windows.net/user/hdp/
ooziejava/coordinator.xml
startTime=2014-11-16T07:30Z
endTime=2014-11-23T04:50Z
frequency=15
timezone=GMT+0530