0

Oozie ワークフローで一連のステップを実行しようとしています。手順の 1 つは、job.properties.template ファイルから引数を読み取る Java プログラムを実行することです。Azure HDInsight クラスターでこれをスケジュールするにはどうすればよいですか (既にクラスターを実行しています)。

また、EMR クラスターのマスター ノードに SSH 接続する方法のように、HDInsight クラスターのヘッド ノードにアクセスする方法はありますか。RDP (リモート デスクトップ プロトコル) についてどこかで読みました。誰かがこれに関連するいくつかの指針を与えることができれば役に立ちます。

4

2 に答える 2

0

HDinsight リモート デスクトップで Java プログラムを実行するには、これを試してください。

  1. jar を lib フォルダーに追加し、プロパティ、xml ファイルを追加してから、ブロブ ストレージに移動します。

例 :

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
于 2014-11-21T07:25:12.013 に答える