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
Hadoop-fürt a HDInsighton. Tekintse meg a HDInsight linuxos használatának első lépéseit.
Egy SSH-ügyfél. Lásd: Csatlakozás a HDInsightba (Apache Hadoop) az SSH használatával.
Egy Azure SQL Database. Lásd: Adatbázis létrehozása az Azure SQL Database-ben az Azure Portalon. Ez a cikk egy oozietest nevű adatbázist használ.
A fürtök elsődleges tárolójának URI-sémája.
wasb://
Az Azure Storage,abfs://
az Azure Data Lake Storage Gen2 vagyadl://
az Azure Data Lake Storage Gen1 esetében. Ha engedélyezve van a biztonságos átvitel az Azure Storage-ban, az URI leszwasbs://
. Lásd még: biztonságos átvitel.
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:
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].
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:
Szerkessze az alábbi
sshuser
kódot a fürt SSH-felhasználóneve helyett, és cserélje leCLUSTERNAME
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
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. Adata
könyvtár a szkript által használt adatok tárolásárauseooziewf.hql
szolgál.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.
Az SSH-kapcsolatból az alábbi paranccsal hozzon létre egy fájlt
useooziewf.hql
:nano useooziewf.hql
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.
A fájl mentéséhez válassza a Ctrl+X, az Y, majd az Enter billentyűkombinációt.
Másolja a következő parancsot a következőre
useooziewf.hql
wasbs:///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:
Az alábbi utasítással hozhat létre és szerkeszthet egy új fájlt:
nano workflow.xml
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 auseooziewf.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 aRunHiveScript
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.
A fájl mentéséhez válassza a Ctrl+X, az Y, majd az Enter billentyűkombinációt.
A fájl
/tutorials/useoozie/workflow.xml
másolásához használja aworkflow.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.
Az alábbi paranccsal telepítse a FreeTDS-t a HDInsight-fürtre:
sudo apt-get --assume-yes install freetds-dev freetds-bin
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>
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, amelyetmobiledata
a 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
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.
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ővelwasbs://
kezdődik: . Ha ehelyett az Azure Data Lake Storage Gen1-et használja, azzal kezdődikadl://
. Ha az Azure Data Lake Storage Gen2-t használja, azzal kezdődikabfs://
.Mentse az elem tartalmát
<value>
a következő lépésekben használt módon.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 egywasbs
elérési út, a teljes elérési utat kell használnia. Ne rövidítse le egyszerűenwasbs:///
. Aoozie.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.Az Oozie-feladatdefiníció konfigurációjának létrehozásához használja a következő parancsot:
nano job.xml
A nanoszerkesztő megnyitása után illessze be a szerkesztett XML-fájlt a fájl tartalmaként.
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.
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.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
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.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.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.
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:
Hozzon létre egy SSH-alagutat a HDInsight-fürthöz. További információ: SSH-bújtatás használata a HDInsighttal.
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:8080
használatával.A lap bal oldalán válassza az Oozie>gyorshivatkozások>Oozie webes felhasználói felületét.
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.
A feladatokkal kapcsolatos további információk megtekintéséhez válassza ki a feladatot.
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.
Feladat DAG: A DAG a munkafolyamaton átvett adatútvonalak grafikus áttekintése.
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.
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:
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.
A fájl mentéséhez válassza a Ctrl+X, az Y, majd az Enter billentyűkombinációt.
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
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.
A fájl mentéséhez válassza a Ctrl+X, az Y, majd az Enter billentyűkombinációt.
A feladat elküldéséhez és elindításához használja a következő parancsot:
oozie job -config job.xml -run
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:
A Következő anyagosítás bejegyzés a feladat következő futtatásának időpontját tartalmazza.
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:
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 .
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: