如何安排在HDInsight群集上运行Java程序的Oozie工作流程

时间:2014-09-18 15:54:13

标签: java azure rdp oozie hdinsight

我正在尝试在oozie工作流程中运行一系列步骤。其中一个步骤涉及运行一个java程序,该程序从job.properties.template文件中读取参数。如何在Azure HDInsight群集上安排此操作(我已经运行了群集)。

此外,有没有办法像我们ssh到EMR集群的主节点那样进入HDInsight集群的头节点。我在某处读到了RDP(远程桌面协议)。如果有人能提供更多与此相关的指针,那将会非常有用。

2 个答案:

答案 0 :(得分:0)

答案 1 :(得分:0)

要在HDinsight远程桌面执行java程序,请试试这个。

  1. 在lib文件夹中添加jar并添加属性,xml文件,然后将其移动到blob存储区。
  2. 示例:

    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