web-dev-qa-db-ja.com

oozieジョブをデプロイして実行する方法は?

私はoozieを使って簡単な仕事をしようとしています。
これは1つの単純な豚のアクションになります。

私はファイルを持っています:FirstScript.pigには以下が含まれています:

dual = LOAD 'default.dual' USING org.Apache.hcatalog.pig.HCatLoader();
store dual into 'dummy_file.txt' using PigStorage();

および以下を含むworkflow.xml:

<workflow-app name="FirstWorkFlow" xmlns="uri:oozie:workflow:0.2">
    <start to="FirstJob"/> 
    <action name="FirstJob">
        <pig>
            <job-tracker>hadoop:50300</job-tracker>
            <name-node>hdfs://hadoop:8020</name-node>
            <script>/FirstScript.pig</script>
        </pig>
        <ok to="okjob"/>
        <error to="errorjob"/>
    </action>
    <ok name='okjob'>    
        <message>job OK, message[${wf:errorMessage()}]</message>
    </ok>    
    <error name='errorjob'>    
        <message>job error, error message[${wf:errorMessage()}]</message>
    </error>    
</workflow-app>

私は構造を作成しました:

FirstScript
|- lib
|---FirstScript.pig
|- workflow.xml

そして今何?それをデプロイしてoozieで実行するにはどうすればよいですか?
もっと経験豊富な人が助けてくれますか?

よろしく
パウエル

10
psmith

私はこのようにします:

hadoop fs -put workflow.xml some_dir/ 
oozie job --oozie http://your_Host:11000/oozie -config cluster_conf.xml -run

私のcluster_conf.xmlは次のようになります(最初にポートがHadoopディストリビューションに依存していることを確認してください):

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<configuration>
<property>
        <name>nameNode</name>
        <value>hdfs://my_nn:8020</value>
</property>
<property>
        <name>jobTracker</name>
        <value>my_jt:8050</value>
</property>
<property>
        <name>oozie.wf.application.path</name>
        <value>/user/my_user/some_dir/workflow.xml</value>
</property>
</configuration>
8

構成ファイルは、file.xmlの代わりにjob.propertiesを指す必要があります。以来、job.propertiesにはworkflow.xmlへのパスが含まれています

oozie job --oozie http://your_Host:11000/oozie -config **/job.properties** -run
2
Piyush Ugale