1

コーディネーターから oozie のワークフローに日付を取得する必要があるという要件があります。

そのために、サンプルコーディネーターとワークフローを次のように開発しました。しかし、コーディネーター ジョブを起動した後、すべてのワークフロー ジョブがエラー コード E0701 で失敗します。xml 解析エラーを意味します。私はどこが間違っているのですか?私は問題を見つけることができませんでしたか?助けてください。

ワークフロー.xml

<workflow-app name="test_wf" xmlns="uri:oozie:workflow:0.4">
    <start to="samp_pig"/>
    <action name="samp_pig">
        <fs>
            <job-tracker>${jobTracker}</job-tracker>
            <name-node>${nameNode}</name-node>
            <delete path='${nameNode}/tmp/${wf.conf("DATE")}'/>
        </fs>
        <ok to="end"/>
        <error to="kill"/>
    </action>
    <kill name="kill">
        <message>Action failed, error      message[${wf:errorMessage(wf:lastErrorNode())}]    
</message>
    </kill>
    <end name="end"/>
</workflow-app>

コーディネーター.xml

<coordinator-app name="test"
  frequency="5"
  start="2014-07-15T11:35Z" end="2014-07-17T12:15Z" timezone="America/Los_Angeles"
  xmlns="uri:oozie:coordinator:0.2">
  <action>
    <workflow>
      <app-path>${wf_application_path}</app-path>
      <configuration> 
    <property>
        <name>DATE</name>
        <value>${coord:formatTime(coord:nominalTime(), 'yyyy-MM-dd')}</value>
    </property>
      </configuration>
   </workflow>
  </action>

ジョブのプロパティ

jobTracker=localhost.localdomain:8021
nameNode=hdfs://localhost.localdomain:8020
oozie.coord.application.path=/tmp/uc1/
oozie.use.system.libpath=true
wf_application_path=/tmp/uc1/wf1/

使用するコマンド

hadoop fs -rmr /tmp/uc1/
hadoop fs -mkdir /tmp/uc1/wf1/
hadoop fs -put * /tmp/uc1/wf1/
hadoop fs -put * /tmp/uc1/
oozie job -oozie  http://localhost.localdomain:11000/oozie -config job.properties -submit
4

3 に答える 3

1

coordinator.xml で DATE プロパティの値を取得するには、次を使用します。${DATE}

    <fs>
        <job-tracker>${jobTracker}</job-tracker>
        <name-node>${nameNode}</name-node>
        <delete path='${nameNode}/tmp/${DATE}'/>
    </fs>
于 2014-07-16T09:35:12.060 に答える
0

私は自分の間違いを見つけました。使用すべきではありません

<job-tracker>${jobTracker}</job-tracker>
<name-node>${nameNode}</name-node>

「fs」アクション内。すべてをそのままに。コーディネーターも元気に働いています。

于 2014-07-27T18:28:58.747 に答える