Share via


Az Apache Oozie használata az Apache Hadooppal a munkafolyamatok Linux-alapú Azure HDInsighton való meghatározásához és futtatásához

Megtudhatja, hogyan használhatja az Apache Oozie-t az Apache Hadooptal az Azure HDInsighton. Az Oozie egy munkafolyamat- és koordinációs rendszer, amely a Hadoop-feladatokat kezeli. Az Oozie integrálva van a Hadoop-veremmel, és a következő feladatokat támogatja:

  • Apache Hadoop MapReduce
  • Apache Pig
  • Apache Hive
  • Apache Sqoop

Az Oozie használatával olyan feladatokat is ütemezhet, amelyek egy adott rendszerre vonatkoznak, például Java-programokra vagy rendszerhéjszkriptekre.

Feljegyzés

A munkafolyamatok HDInsighttal való definiálásának másik lehetősége az Azure Data Factory használata. A Data Factoryről további információt az Apache Pig és az Apache Hive használata a Data Factoryvel című témakörben talál. Ha az Oozie-t vállalati biztonsági csomaggal rendelkező fürtökön szeretné használni, tekintse meg az Apache Oozie futtatása HDInsight Hadoop-fürtökben az Enterprise Security Package használatával című témakört.

Előfeltételek

Példa munkafolyamat

A dokumentumban használt munkafolyamat két műveletet tartalmaz. A műveletek olyan tevékenységek definíciói, mint például a Hive, a Sqoop, a MapReduce vagy más folyamatok futtatása:

HDInsight oozie workflow diagram.

  1. A Hive-művelet hiveQL-szkriptet futtat a hivesampletable HDInsightban található rekordok kinyeréséhez. Minden adatsor egy adott mobileszközről történő látogatást ír le. A rekordformátum a következő szöveghez hasonlóan jelenik meg:

    8       18:54:20        en-US   Android Samsung SCH-i500        California     United States    13.9204007      0       0
    23      19:19:44        en-US   Android HTC     Incredible      Pennsylvania   United States    NULL    0       0
    23      19:19:46        en-US   Android HTC     Incredible      Pennsylvania   United States    1.4757422       0       1
    

    A dokumentumban használt Hive-szkript megszámolja az egyes platformok (például Android vagy i Telefon összes látogatását, és egy új Hive-táblában tárolja a számokat.

    További információ a Hive-ről: [Az Apache Hive használata a HDInsighttal][hdinsight-use-hive].

  2. Egy Sqoop-művelet exportálja az új Hive-tábla tartalmát egy Azure SQL Database-ben létrehozott táblába. További információ a Sqoopról: Az Apache Sqoop használata a HDInsighttal.

Feljegyzés

A HDInsight-fürtökön támogatott Oozie-verziókról a HDInsight által biztosított Hadoop-fürtverziók újdonságai című témakörben olvashat.

A munkakönyvtár létrehozása

Oozie elvárja, hogy egy feladathoz szükséges összes erőforrást ugyanabban a könyvtárban tárolja. Ez a példa a következőt használja: wasbs:///tutorials/useoozie. A címtár létrehozásához hajtsa végre a következő lépéseket:

  1. Szerkessze az alábbi sshuser kódot a fürt SSH-felhasználóneve helyett, és cserélje le CLUSTERNAME a fürt nevére. Ezután írja be a kódot a HDInsight-fürthöz való csatlakozáshoz az SSH használatával.

    ssh sshuser@CLUSTERNAME-ssh.azurehdinsight.net
    
  2. A címtár létrehozásához használja a következő parancsot:

    hdfs dfs -mkdir -p /tutorials/useoozie/data
    

    Feljegyzés

    A -p paraméter az elérési út összes könyvtárának létrehozását okozza. A data könyvtár a szkript által használt adatok tárolására useooziewf.hql szolgál.

  3. Szerkessze az alábbi kódot az SSH-felhasználónév helyére sshuser . Annak érdekében, hogy Oozie megszemélyesítse a felhasználói fiókját, használja a következő parancsot:

    sudo adduser sshuser users
    

    Feljegyzés

    Figyelmen kívül hagyhatja azokat a hibákat, amelyek azt jelzik, hogy a felhasználó már tagja a users csoportnak.

Adatbázis-illesztőprogram hozzáadása

Ez a munkafolyamat a Sqoop használatával exportál adatokat az SQL-adatbázisba. Ezért meg kell adnia az SQL-adatbázissal való interakcióhoz használt JDBC-illesztő másolatát. A JDBC-illesztő a munkakönyvtárba való másolásához használja az SSH-munkamenet következő parancsát:

hdfs dfs -put /usr/share/java/sqljdbc_7.0/enu/mssql-jdbc*.jar /tutorials/useoozie/

Fontos

Ellenőrizze a tényleges JDBC-illesztőt, amely a következő helyen /usr/share/java/található: .

Ha a munkafolyamat más erőforrásokat is használt, például egy MapReduce-alkalmazást tartalmazó jart, ezeket az erőforrásokat is hozzá kell adnia.

A Hive-lekérdezés definiálása

Az alábbi lépésekkel létrehozhat egy Hive lekérdezési nyelvet (HiveQL) tartalmazó szkriptet, amely meghatározza a lekérdezést. A lekérdezést egy Oozie-munkafolyamatban fogja használni a dokumentum későbbi részében.

  1. Az SSH-kapcsolatból az alábbi paranccsal hozzon létre egy fájlt useooziewf.hql:

    nano useooziewf.hql
    
  2. A GNU nanoszerkesztő megnyitása után használja a következő lekérdezést a fájl tartalmaként:

    DROP TABLE ${hiveTableName};
    CREATE EXTERNAL TABLE ${hiveTableName}(deviceplatform string, count string) ROW FORMAT DELIMITED
    FIELDS TERMINATED BY '\t' STORED AS TEXTFILE LOCATION '${hiveDataFolder}';
    INSERT OVERWRITE TABLE ${hiveTableName} SELECT deviceplatform, COUNT(*) as count FROM hivesampletable GROUP BY deviceplatform;
    

    A szkript két változót használ:

    • ${hiveTableName}: A létrehozandó tábla nevét tartalmazza.

    • ${hiveDataFolder}: A tábla adatfájljainak tárolására szolgáló helyet tartalmazza.

      A cikkben workflow.xml munkafolyamat-definíciós fájl futásidőben továbbítja ezeket az értékeket ennek a HiveQL-szkriptnek.

  3. A fájl mentéséhez válassza a Ctrl+X, az Y, majd az Enter billentyűkombinációt.

  4. Másolja a következő parancsot a következőre useooziewf.hqlwasbs:///tutorials/useoozie/useooziewf.hql:

    hdfs dfs -put useooziewf.hql /tutorials/useoozie/useooziewf.hql
    

    Ez a parancs a fájlt a useooziewf.hql fürt HDFS-kompatibilis tárolójában tárolja.

A munkafolyamat definiálása

Az Oozie-munkafolyamat-definíciók a Hadoop folyamatdefiníciós nyelven (hPDL) vannak megírva, amely egy XML-folyamatdefiníciós nyelv. A munkafolyamat definiálásához kövesse az alábbi lépéseket:

  1. Az alábbi utasítással hozhat létre és szerkeszthet egy új fájlt:

    nano workflow.xml
    
  2. A nanoszerkesztő megnyitása után adja meg a következő XML-fájlt a fájl tartalmaként:

    <workflow-app name="useooziewf" xmlns="uri:oozie:workflow:0.2">
        <start to = "RunHiveScript"/>
        <action name="RunHiveScript">
        <hive xmlns="uri:oozie:hive-action:0.2">
            <job-tracker>${jobTracker}</job-tracker>
            <name-node>${nameNode}</name-node>
            <configuration>
            <property>
                <name>mapred.job.queue.name</name>
                <value>${queueName}</value>
            </property>
            </configuration>
            <script>${hiveScript}</script>
            <param>hiveTableName=${hiveTableName}</param>
            <param>hiveDataFolder=${hiveDataFolder}</param>
        </hive>
        <ok to="RunSqoopExport"/>
        <error to="fail"/>
        </action>
        <action name="RunSqoopExport">
        <sqoop xmlns="uri:oozie:sqoop-action:0.2">
            <job-tracker>${jobTracker}</job-tracker>
            <name-node>${nameNode}</name-node>
            <configuration>
            <property>
                <name>mapred.compress.map.output</name>
                <value>true</value>
            </property>
            </configuration>
            <arg>export</arg>
            <arg>--connect</arg>
            <arg>${sqlDatabaseConnectionString}</arg>
            <arg>--table</arg>
            <arg>${sqlDatabaseTableName}</arg>
            <arg>--export-dir</arg>
            <arg>${hiveDataFolder}</arg>
            <arg>-m</arg>
            <arg>1</arg>
            <arg>--input-fields-terminated-by</arg>
            <arg>"\t"</arg>
            <archive>mssql-jdbc-7.0.0.jre8.jar</archive>
            </sqoop>
        <ok to="end"/>
        <error to="fail"/>
        </action>
        <kill name="fail">
        <message>Job failed, error message[${wf:errorMessage(wf:lastErrorNode())}] </message>
        </kill>
        <end name="end"/>
    </workflow-app>
    

    A munkafolyamatban két művelet van definiálva:

    • RunHiveScript: Ez a művelet a kezdőművelet, és a useooziewf.hql Hive-szkriptet futtatja.

    • RunSqoopExport: Ez a művelet exportálja a Hive-szkriptből létrehozott adatokat egy SQL-adatbázisba a Sqoop használatával. Ez a művelet csak akkor fut, ha a RunHiveScript művelet sikeres.

      A munkafolyamat számos bejegyzést tartalmaz, például ${jobTracker}. Ezeket a bejegyzéseket lecseréli a feladatdefinícióban használt értékekre. A feladatdefiníciót a dokumentum későbbi részében fogja létrehozni.

      Jegyezze fel a <archive>mssql-jdbc-7.0.0.jre8.jar</archive> Sqoop szakaszban található bejegyzést is. Ez a bejegyzés arra utasítja az Oozie-t, hogy tegye elérhetővé ezt az archívumot a Sqoop számára a művelet futtatásakor.

  3. A fájl mentéséhez válassza a Ctrl+X, az Y, majd az Enter billentyűkombinációt.

  4. A fájl /tutorials/useoozie/workflow.xmlmásolásához használja a workflow.xml következő parancsot:

    hdfs dfs -put workflow.xml /tutorials/useoozie/workflow.xml
    

Tábla létrehozása

Feljegyzés

Számos módon csatlakozhat az SQL Database-hez tábla létrehozásához. A következő lépések során a FreeTDS eszközt használjuk a HDInsight-fürtről.

  1. Az alábbi paranccsal telepítse a FreeTDS-t a HDInsight-fürtre:

    sudo apt-get --assume-yes install freetds-dev freetds-bin
    
  2. Szerkessze az alábbi <serverName> kódot a logikai SQL-kiszolgáló nevére és <sqlLogin> a kiszolgáló bejelentkezésére. Adja meg a parancsot az előfeltételként szolgáló SQL-adatbázishoz való csatlakozáshoz. Írja be a jelszót a parancssorba.

    TDSVER=8.0 tsql -H <serverName>.database.windows.net -U <sqlLogin> -p 1433 -D oozietest
    

    A következő szöveghez hasonló kimenet jelenik meg:

    locale is "en_US.UTF-8"
    locale charset is "UTF-8"
    using default charset "UTF-8"
    Default database being set to oozietest
    1>
    
  3. Az 1> parancssorban írja be a következő sorokat:

    CREATE TABLE [dbo].[mobiledata](
    [deviceplatform] [nvarchar](50),
    [count] [bigint])
    GO
    CREATE CLUSTERED INDEX mobiledata_clustered_index on mobiledata(deviceplatform)
    GO
    

    A GO utasítás megadásakor a rendszer kiértékeli az előző utasításokat. Ezek az utasítások létrehoznak egy táblát, amelyet mobiledataa munkafolyamat használ.

    A tábla létrehozásának ellenőrzéséhez használja a következő parancsokat:

    SELECT * FROM information_schema.tables
    GO
    

    A kimenet a következő szöveghez hasonlóan jelenik meg:

    TABLE_CATALOG   TABLE_SCHEMA    TABLE_NAME      TABLE_TYPE
    oozietest       dbo             mobiledata      BASE TABLE
    
  4. Lépjen ki a tsql segédprogramból a 1> parancssorba való exit belépéssel.

A feladatdefiníció létrehozása

A feladatdefiníció leírja, hogy hol található a workflow.xml. Azt is leírja, hogy hol találhatók a munkafolyamat által használt egyéb fájlok, például useooziewf.hql. Emellett meghatározza a munkafolyamatban és a társított fájlokban használt tulajdonságok értékeit is.

  1. Az alapértelmezett tároló teljes címének lekéréséhez használja az alábbi parancsot. Ezt a címet a következő lépésben létrehozott konfigurációs fájlban használja a rendszer.

    sed -n '/<name>fs.default/,/<\/value>/p' /etc/hadoop/conf/core-site.xml
    

    Ez a parancs az alábbi XML-hez hasonló adatokat ad vissza:

    <name>fs.defaultFS</name>
    <value>wasbs://mycontainer@mystorageaccount.blob.core.windows.net</value>
    

    Feljegyzés

    Ha a HDInsight-fürt az Azure Storage-t használja alapértelmezett tárolóként, az elem tartalma a <value> következővel wasbs://kezdődik: . Ha ehelyett az Azure Data Lake Storage Gen1-et használja, azzal kezdődik adl://. Ha az Azure Data Lake Storage Gen2-t használja, azzal kezdődik abfs://.

    Mentse az elem tartalmát <value> a következő lépésekben használt módon.

  2. Szerkessze az alábbi xml-fájlt az alábbiak szerint:

    Helyőrző érték Lecserélt érték
    wasbs://mycontainer@mystorageaccount.blob.core.windows.net Az 1. lépéstől kapott érték.
    felügyelet A HDInsight-fürt bejelentkezési neve, ha nem rendszergazda.
    serverName Az Azure SQL Database-kiszolgáló neve.
    sqlLogin Azure SQL Database-kiszolgáló bejelentkezése.
    sqlPassword Az Azure SQL Database Server bejelentkezési jelszava.
    <?xml version="1.0" encoding="UTF-8"?>
    <configuration>
    
        <property>
        <name>nameNode</name>
        <value>wasbs://mycontainer@mystorageaccount.blob.core.windows.net</value>
        </property>
    
        <property>
        <name>jobTracker</name>
        <value>headnodehost:8050</value>
        </property>
    
        <property>
        <name>queueName</name>
        <value>default</value>
        </property>
    
        <property>
        <name>oozie.use.system.libpath</name>
        <value>true</value>
        </property>
    
        <property>
        <name>hiveScript</name>
        <value>wasbs://mycontainer@mystorageaccount.blob.core.windows.net/tutorials/useoozie/useooziewf.hql</value>
        </property>
    
        <property>
        <name>hiveTableName</name>
        <value>mobilecount</value>
        </property>
    
        <property>
        <name>hiveDataFolder</name>
        <value>wasbs://mycontainer@mystorageaccount.blob.core.windows.net/tutorials/useoozie/data</value>
        </property>
    
        <property>
        <name>sqlDatabaseConnectionString</name>
        <value>"jdbc:sqlserver://serverName.database.windows.net;user=sqlLogin;password=sqlPassword;database=oozietest"</value>
        </property>
    
        <property>
        <name>sqlDatabaseTableName</name>
        <value>mobiledata</value>
        </property>
    
        <property>
        <name>user.name</name>
        <value>admin</value>
        </property>
    
        <property>
        <name>oozie.wf.application.path</name>
        <value>wasbs://mycontainer@mystorageaccount.blob.core.windows.net/tutorials/useoozie</value>
        </property>
    </configuration>
    

    A fájl legtöbb információja a workflow.xml vagy ooziewf.hql fájlokban használt értékek feltöltésére szolgál, például ${nameNode}. Ha az elérési út egy wasbs elérési út, a teljes elérési utat kell használnia. Ne rövidítse le egyszerűen wasbs:///. A oozie.wf.application.path bejegyzés meghatározza, hogy hol keresse meg a workflow.xml fájlt. Ez a fájl tartalmazza a feladat által futtatott munkafolyamatot.

  3. Az Oozie-feladatdefiníció konfigurációjának létrehozásához használja a következő parancsot:

    nano job.xml
    
  4. A nanoszerkesztő megnyitása után illessze be a szerkesztett XML-fájlt a fájl tartalmaként.

  5. A fájl mentéséhez válassza a Ctrl+X, az Y, majd az Enter billentyűkombinációt.

A feladat elküldése és kezelése

Az alábbi lépések az Oozie paranccsal küldhetik el és kezelhetik az Oozie-munkafolyamatokat a fürtön. Az Oozie parancs egy felhasználóbarát felület az Oozie REST API-val szemben.

Fontos

Az Oozie parancs használatakor a HDInsight-főcsomópont teljes tartománynevét kell használnia. Ez a teljes tartománynév csak a fürtről érhető el, vagy ha a fürt egy Azure-beli virtuális hálózaton található, ugyanazon a hálózaton lévő többi gépről.

  1. Az Oozie szolgáltatás URL-címének beszerzéséhez használja a következő parancsot:

    sed -n '/<name>oozie.base.url/,/<\/value>/p' /etc/oozie/conf/oozie-site.xml
    

    Ez az alábbi XML-hez hasonló adatokat ad vissza:

    <name>oozie.base.url</name>
    <value>http://ACTIVE-HEADNODE-NAME.UNIQUEID.cx.internal.cloudapp.net:11000/oozie</value>
    

    A http://ACTIVE-HEADNODE-NAME.UNIQUEID.cx.internal.cloudapp.net:11000/oozie rész az Oozie paranccsal használandó URL-cím.

  2. Szerkessze a kódot, és cserélje le az URL-címet a korábban kapottra. Ha környezeti változót szeretne létrehozni az URL-címhez, használja a következőket, hogy ne kelljen minden parancshoz megadnia:

    export OOZIE_URL=http://HOSTNAMEt:11000/oozie
    
  3. A feladat elküldéséhez használja a következő kódot:

    oozie job -config job.xml -submit
    

    Ez a parancs betölti a feladatadatokat, job.xml és elküldi azokat az Oozie-nak, de nem futtatja.

    A parancs befejeződése után a feladat azonosítóját kell visszaadnia, például 0000005-150622124850154-oozie-oozi-W. Ez az azonosító a feladat kezelésére szolgál.

  4. Szerkessze az alábbi kódot az előző lépésben visszaadott azonosító helyére <JOBID> . A feladat állapotának megtekintéséhez használja a következő parancsot:

    oozie job -info <JOBID>
    

    Ez az alábbi szöveghez hasonló adatokat ad vissza:

    Job ID : 0000005-150622124850154-oozie-oozi-W
    ------------------------------------------------------------------------------------------------------------------------------------
    Workflow Name : useooziewf
    App Path      : wasb:///tutorials/useoozie
    Status        : PREP
    Run           : 0
    User          : USERNAME
    Group         : -
    Created       : 2015-06-22 15:06 GMT
    Started       : -
    Last Modified : 2015-06-22 15:06 GMT
    Ended         : -
    CoordAction ID: -
    ------------------------------------------------------------------------------------------------------------------------------------
    

    Ennek a feladatnak az állapota PREP. Ez az állapot azt jelzi, hogy a feladat létrejött, de nem indult el.

  5. Szerkessze az alábbi kódot a korábban visszaadott azonosító helyére <JOBID> . A feladat elindításához használja a következő parancsot:

    oozie job -start <JOBID>
    

    Ha a parancs után ellenőrzi az állapotot, az futó állapotban van, és a rendszer visszaadja a feladaton belüli műveletek adatait. A feladat végrehajtása néhány percet vesz igénybe.

  6. Szerkessze az alábbi <serverName> kódot a kiszolgáló nevére és <sqlLogin> a kiszolgáló bejelentkezésére. A feladat sikeres befejezése után az alábbi paranccsal ellenőrizheti, hogy az adatok létrejöttek és exportálva lett-e az SQL-adatbázistáblába. Írja be a jelszót a parancssorba.

    TDSVER=8.0 tsql -H <serverName>.database.windows.net -U <sqlLogin> -p 1433 -D oozietest
    

    A parancssorba 1> írja be a következő lekérdezést:

    SELECT * FROM mobiledata
    GO
    

    A visszaadott információk a következő szöveghez hasonlóak:

    deviceplatform  count
    Android 31591
    iPhone OS       22731
    proprietary development 3
    RIM OS  3464
    Unknown 213
    Windows Phone   1791
    (6 rows affected)
    

Az Oozie parancsról további információt az Apache Oozie parancssori eszközében talál.

Oozie REST API

Az Oozie REST API-val létrehozhatja az Oozie-t használó saját eszközeit. Az Oozie REST API használatával kapcsolatos alábbi HDInsight-specifikus információk:

  • URI: A REST API-t a fürtön kívülről érheti el a következő címen https://CLUSTERNAME.azurehdinsight.net/oozie: .

  • Hitelesítés: A hitelesítéshez használja az API-t a fürt HTTP-fiókját (rendszergazdáját) és jelszavát. Példa:

    curl -u admin:PASSWORD https://CLUSTERNAME.azurehdinsight.net/oozie/versions
    

További információ az Oozie REST API használatáról: Apache Oozie Web Services API.

Oozie webes felhasználói felület

Az Oozie webes felhasználói felülete webes nézetet biztosít a fürt Oozie-feladatainak állapotáról. A webes felhasználói felületen a következő információk tekinthetők meg:

  • Feladat állapota
  • Feladat definíciója
  • Konfiguráció
  • A feladat műveleteinek grafikonja
  • A feladat naplói

A feladatokon belüli műveletek részleteit is megtekintheti.

Az Oozie webes felhasználói felületének eléréséhez hajtsa végre a következő lépéseket:

  1. Hozzon létre egy SSH-alagutat a HDInsight-fürthöz. További információ: SSH-bújtatás használata a HDInsighttal.

  2. Miután létrehozott egy alagutat, nyissa meg az Ambari webes felhasználói felületet a webböngészőben az URI http://headnodehost:8080használatával.

  3. A lap bal oldalán válassza az Oozie>gyorshivatkozások>Oozie webes felhasználói felületét.

    Apache Ambari oozie web ui steps.

  4. Az Oozie webes felhasználói felülete alapértelmezés szerint megjeleníti a futó munkafolyamat-feladatokat. Az összes munkafolyamat-feladat megtekintéséhez válassza a Minden feladat lehetőséget.

    Oozie web console workflow jobs.

  5. A feladatokkal kapcsolatos további információk megtekintéséhez válassza ki a feladatot.

    HDInsight Apache Oozie job info.

  6. A Feladat adatai lapon láthatja az alapvető feladatinformációkat és a feladaton belüli egyes műveleteket. A felső lapfülekkel megtekintheti a feladatdefiníciót, a feladatkonfigurációt, hozzáférhet a feladatnaplóhoz, vagy megtekintheti a feladat irányított aciklikus gráfját (DAG) a Feladat DAG területén.

    • Feladatnapló: Válassza a Naplók lekérése gombot a feladat összes naplójának lekéréséhez, vagy a naplók szűréséhez használja az Enter Search Filter mezőt.

      HDInsight Apache Oozie job log.

    • Feladat DAG: A DAG a munkafolyamaton átvett adatútvonalak grafikus áttekintése.

      `HDInsight Apache Oozie job dag`.

  7. Ha kiválaszt egy műveletet a Feladat adatai lapon, az információkat jelenít meg a műveletről. Válassza például a RunSqoopExport műveletet.

    HDInsight oozie job action info.

  8. Megtekintheti a művelet részleteit, például a konzol URL-címére mutató hivatkozást. Ezen a hivatkozáson megtekintheti a feladat feladatkövető adatait.

Feladatok ütemezése

A koordinátor segítségével megadhatja a feladatok kezdési, befejezési és előfordulási gyakoriságát. A munkafolyamat ütemezésének meghatározásához hajtsa végre a következő lépéseket:

  1. Az alábbi paranccsal hozzon létre egy coordinator.xml nevű fájlt:

    nano coordinator.xml
    

    A fájl tartalmaként használja a következő XML-t:

    <coordinator-app name="my_coord_app" frequency="${coordFrequency}" start="${coordStart}" end="${coordEnd}" timezone="${coordTimezone}" xmlns="uri:oozie:coordinator:0.4">
        <action>
        <workflow>
            <app-path>${workflowPath}</app-path>
        </workflow>
        </action>
    </coordinator-app>
    

    Feljegyzés

    A ${...} változókat a feladatdefiníció futásidejű értékei váltják fel. A változók a következők:

    • ${coordFrequency}: A feladat futó példányai közötti idő.
    • ${coordStart}: A feladat kezdési időpontja.
    • ${coordEnd}: A feladat befejezési ideje.
    • ${coordTimezone}: A koordinátori feladatok rögzített időzónában vannak, nyári időszámítás nélkül, általában UTC használatával. Ezt az időzónát Oozie feldolgozási időzónának nevezzük .
    • ${wfPath}: A workflow.xml elérési útja.
  2. A fájl mentéséhez válassza a Ctrl+X, az Y, majd az Enter billentyűkombinációt.

  3. Ha a fájlt a feladat munkakönyvtárába szeretné másolni, használja a következő parancsot:

    hadoop fs -put coordinator.xml /tutorials/useoozie/coordinator.xml
    
  4. A korábban létrehozott fájl módosításához job.xml használja a következő parancsot:

    nano job.xml
    

    Hajtsa végre a következő módosításokat:

    • Ha arra szeretné utasítani az Oozie-t, hogy a munkafolyamat helyett a koordinátorfájlt futtassa, váltson a <name>oozie.wf.application.path</name> következőre <name>oozie.coord.application.path</name>: .

    • A koordinátor által használt változó beállításához workflowPath adja hozzá a következő XML-t:

      <property>
          <name>workflowPath</name>
          <value>wasbs://mycontainer@mystorageaccount.blob.core.windows.net/tutorials/useoozie</value>
      </property>
      

      Cserélje le a wasbs://mycontainer@mystorageaccount.blob.core.windows szöveget a job.xml fájl többi bejegyzésében használt értékre.

    • A koordinátor kezdő, záró és gyakoriságának meghatározásához adja hozzá a következő XML-t:

      <property>
          <name>coordStart</name>
          <value>2018-05-10T12:00Z</value>
      </property>
      
      <property>
          <name>coordEnd</name>
          <value>2018-05-12T12:00Z</value>
      </property>
      
      <property>
          <name>coordFrequency</name>
          <value>1440</value>
      </property>
      
      <property>
          <name>coordTimezone</name>
          <value>UTC</value>
      </property>
      

      Ezek az értékek a kezdési időpontot 2018. május 10-én 12:00 órára, a befejezési időpontot pedig 2018. május 12-ére állítják be. A feladat futtatásának időköze napi értékre van állítva. A gyakoriság percekben van, tehát 24 óra x 60 perc = 1440 perc. Végül az időzóna UTC értékre van állítva.

  5. A fájl mentéséhez válassza a Ctrl+X, az Y, majd az Enter billentyűkombinációt.

  6. A feladat elküldéséhez és elindításához használja a következő parancsot:

    oozie job -config job.xml -run
    
  7. Ha az Oozie webes felhasználói felületére lép, és a Koordinátori feladatok fülre kattint, az alábbi képen látható információkhoz hasonló információk jelennek meg:

    Oozie web console coordinator jobs tab.

    A Következő anyagosítás bejegyzés a feladat következő futtatásának időpontját tartalmazza.

  8. A korábbi munkafolyamat-feladathoz hasonlóan, ha a webes felhasználói felületen kiválasztja a feladatbejegyzést, a feladat adatai jelennek meg:

    Apache Oozie coordinator job info.

    Feljegyzés

    Ez a kép csak a feladat sikeres futtatását jeleníti meg, az ütemezett munkafolyamaton belüli egyes műveleteket nem. Az egyes műveletek megtekintéséhez válassza ki az egyik műveletbejegyzést .

    OOzie web console job info tab.

Következő lépések

Ebben a cikkben megtanulta, hogyan definiálhat Oozie-munkafolyamatokat, és hogyan futtathat Oozie-feladatokat. A HDInsight használatával kapcsolatos további információkért tekintse meg az alábbi cikkeket: