Oozie apmācība: uzziniet, kā plānot savus Hadoop darbus



Apache Oozie apmācība: Oozie ir darbplūsmas plānotāja sistēma Hadoop darbu pārvaldīšanai. Tā ir mērogojama, uzticama un paplašināma sistēma.

Pirms sākat šo Apache Oozie apmācību, ļaujiet mums saprast, kur tiek izmantota plānotāja sistēma. Reālā laika scenārijos viens darbs ir atkarīgs no citiem darbiem, piemēram, MapReduce uzdevuma iznākumu var nodot Hive darbam tālākai apstrādei. Nākamais scenārijs var būt uzdevumu kopas plānošana atkarībā no laika, piemēram, dienas, nedēļas, mēneša vai datu pieejamības. Apache Oozie nodrošina jums iespēju viegli rīkoties ar šāda veida scenārijiem. Tāpēc Apache Oozie ir svarīga programmas sastāvdaļa .

Šajā Apache Oozie apmācības emuārā mēs apskatīsim:





<> operators kvl
  • Apache Oozie Ievads
  • Oozie darbplūsma
  • Oozie koordinatore
  • Oozie Bundle
  • Vārdu skaitīšanas darbplūsmas darbs
  • Uz laiku balstīts vārdu skaita koordinatora darbs

Mēs sāksim šo Oozie apmācību, iepazīstinot ar Apache Oozie. Pēc tam virzoties uz priekšu, mēs sapratīsim darbu veidus, kurus var izveidot un izpildīt, izmantojot Apache Oozie.

Apache Oozie apmācība: Ievads Apache Oozie

Apache Oozie - Oozie apmācība - EdurekaApache Oozie ir plānotāju sistēma Hadoop darbu pārvaldīšanai un izpildei izplatītā vidē. Mēs varam izveidot vēlamo cauruļvadu, apvienojot dažāda veida uzdevumus. Tas var būt jūsu stropu, cūku, kvadrātu vai MapReduce uzdevums. Izmantojot Apache Oozie, jūs varat arī ieplānot savus darbus. Uzdevuma secības ietvaros divus vai vairākus darbus var ieprogrammēt arī darboties paralēli viens otram. Tā ir mērogojama, uzticama un paplašināma sistēma.



Oozie ir atvērtā koda Java tīmekļa lietojumprogramma, kas ir atbildīga par darbplūsmas darbību aktivizēšanu. Tas savukārt izmanto Hadoop izpildes dzinēju, lai izpildītu uzdevumus.

Apache Oozie nosaka uzdevumu izpildi, izmantojot atzvanīšanu un aptauju. Kad Oozie sāk uzdevumu, tas nodrošina uzdevumam unikālu HTTP atzvanīšanas URL un paziņo par šo URL, kad uzdevums ir pabeigts. Ja uzdevums neizsauc atsaukšanas URL, Oozie var aptaujāt uzdevumu, lai tas tiktu pabeigts.

Apache Oozie ir trīs veidu darbi:



  • Darbs ar Oozie darbplūsmu & mīnus Tie ir virzītie cikliskie grafiki (DAG), kas norāda veicamo darbību secību.
  • Oozie koordinatora darbs & mīnus Tie sastāv no darbplūsmas darbiem, kurus izraisa laiks un datu pieejamība.
  • Oozie Bundles & mīnus Tos var saukt par vairāku koordinatoru un darbplūsmas darbu paketi.

Tagad sapratīsim visus šos darbus pa vienam.

Apache Oozie apmācība: Oozie darbplūsma

Darbplūsma ir darbību secība, kas sakārtota tiešajā acikliskajā grafikā (DAG). Darbības ir atkarīgas viena no otras, jo nākamo darbību var izpildīt tikai pēc pašreizējās darbības izvades. Darbplūsmas darbība var būt Pig darbība, stropu darbība, MapReduce darbība, čaulas darbība, Java darbība utt. Var būt lēmumu koki, lai izlemtu, kā un ar kādu nosacījumu darbam vajadzētu darboties.

Mēs varam izveidot dažāda veida darbības, pamatojoties uz darbu, un katram darbības veidam var būt sava veida tagi.Pirms darbplūsmas izpildes darbplūsma un skripti vai burkas jāievieto HDFS ceļā.

Komanda: oozie darbs – oozie http: // localhost: 11000 / oozie -config job.properties -run

Lai pārbaudītu darba statusu, varat doties uz Oozie tīmekļa konsoli, t.i. http: // resursdatora_nosaukums: 11000 . Noklikšķinot uz darba, jūs redzēsiet darba statusu.

Scenārijos, kad mēs vēlamies paralēli vadīt vairākus darbus, mēs varam izmantot Dakša . Ikreiz, kad izmantojam dakšiņu, dakšas gala mezgls ir jāizmanto Join. Katram dakšiņam jābūt savienojumam. Join pieņem, ka visi mezgli, kas darbojas paralēli, ir vienas dakšas bērns. Piemēram, mēs vienlaikus varam izveidot divas tabulas paralēli.

Ja mēs vēlamies izpildīt darbību, pamatojoties uz lēmuma iznākumu, mēs varam pievienot lēmumu tagus. Piemēram, ja mums jau ir stropa galds, tas vairs nebūs jāizveido. Šādā situācijā mēs varam pievienot lēmuma tagu, lai neizpildītu tabulas izveides darbības, ja tabula jau pastāv. Lēmuma mezgliem ir slēdzis, kas līdzīgs slēdža reģistram.

Darba izsekotāja, nosaukuma mezgla, skripta un parametra vērtību var nodot tieši. Bet to kļūst grūti pārvaldīt. Šeit noder konfigurācijas fails (t.i., īpašuma fails).

Apache Oozie apmācība: Oozie koordinators

Izmantojot koordinatoru, varat ieplānot sarežģītas darbplūsmas, kā arī regulāri plānotas darbplūsmas. Oozie koordinatori aktivizē darbplūsmas darbus, pamatojoties uz laika, datu vai notikumu predikātiem. Darbplūsmas darba koordinatorā sākas, kad ir izpildīts dotais nosacījums.

Koordinatora darbam nepieciešamās definīcijas ir šādas:

  • sākt & mīnus Darba datuma sākuma laiks.
  • beigas & mīnus darba beigu datums.
  • laika zona & mīnus koordinatora lietojumprogrammas laika josla.
  • biežums & mīnus Darbu izpildes biežums minūtēs.

Kontroles informācijai ir pieejami vēl daži īpašumi:

  • pārtraukums & mīnus Maksimālais laiks minūtēs, kurā darbība tiek gaidīta, lai izpildītu papildu nosacījumus, pirms tiek izmesta. 0 norāda, ka, ja visi ievades notikumi darbības materializēšanās laikā nav apmierināti, darbībai ir nekavējoties jāpieņem taimauts. -1 norāda, ka taimauts nav, darbība gaidīs mūžīgi. Noklusējuma vērtība ir -1.
  • vienlaikus & mīnus Maksimālais darbību skaits darbam, kas var darboties paralēli. Noklusējuma vērtība ir 1.
  • izpilde - Tas norāda izpildes rīkojumu, ja vairāki koordinatora darba gadījumi ir izpildījuši izpildes kritērijus. Tā var būt:
    • FIFO (noklusējums)
    • LIFO
    • TIKAI TIKAI

Komanda: oozie darbs – oozie http: // localhost: 11000 / oozie -config -run

Ja definīcijā izmantotais konfigurācijas rekvizīts, iesniedzot koordinatora darbu, netiek nodrošināts ar darba konfigurāciju, darba iesniegšana neizdosies.

Apache Oozie apmācība: Oozie Bundle

Oozie Bundle sistēmaļauj definēt un izpildīt koordinatoru lietojumprogrammu kopu, ko bieži dēvē par datu cauruļvadu. Oozie komplektā koordinatoru lietojumprogrammās nav skaidras atkarības. Tomēr jūs varētu izmantot koordinatora lietojumprogrammu datu atkarību, lai izveidotu netiešu datu lietojumprogrammu cauruļvadu.Jūs varat sākt / apturēt / apturēt / atsākt / atkārtoti palaist paketi. Tas nodrošina labāku un ērtu vadības kontroli.

Sākuma laiks & mīnus Laiks, kad jāsāk kopa un jāiesniedz koordinatora pieteikumi.

Virzoties uz šo Apache Oozie apmācību, mēs sapratīsim, kā izveidot Workflow Job.

Apache Oozie apmācība: vārdu skaitīšanas darbplūsmas darbs

Šajā piemērā mēs izpildīsim vārdu skaitīšanas darbu, izmantojot Apache Oozie. Šeit mēs nerunāsim par to, kā uzrakstīt MapReduce vārdu skaitīšanas programmu. Tātad, pirms sekojat šai Apache Oozie apmācībai, tas ir jālejupielādē vārdu skaitīšanas burka failu. Tagad izveidojiet direktoriju WordCountTest, kurā mēs ievietosim visus failus. Izveidojiet lib direktoriju, kur mēs ievietosim vārdu skaitīšanas burku, kā parādīts zemāk esošajos attēlos.

Tagad ļaujiet virzīties uz priekšu un izveidot darbs.pašības & workflow.xml faili, kur mēs norādīsim darbu un ar to saistītos parametrus.

darbs.pašības

Pirmkārt, mēs izveidojam darbs.pašības failu, kur mēs definējam NameNode & ResourceManager ceļu. NameNode ceļš ir nepieciešams, lai atrisinātu darbplūsmas direktorijas ceļu un jobTracker ceļš palīdzēs iesniegt darbu YARN. Mums jānodrošina workflow.xml fails, kas jāglabā HDFS.

workflow.xml

Tālāk mums ir jāizveido workflow.xml failu, kurā mēs definēsim un izpildīsim visas mūsu darbības. Pirmkārt, mums jānorāda darbplūsmas lietotnes nosaukums, t.i. WorkflowRunnerTest . Tad mēs precizējam sākuma mezgls . Sākuma mezgls ( iekšā sākt tagu ) ir ieejas punkts darbplūsmas darbam. Tas norāda uz pirmo darbplūsmas mezglu, no kura jāsāk darbs. Kā redzat zemāk esošajā attēlā, nākamais mezgls ir krustojums0 no kurienes sāksies darbs.

Tālāk darbības mezglā mēs norādām veicamo uzdevumu. Šeit mēs izpildām MapReduce WordCount uzdevumu. Mums jānorāda konfigurācijas, kas nepieciešamas šī MapReduce uzdevuma izpildei. Mēs definējam darba izsekotāju un NameNode adresi.

Nākamais ir sagatavotais elements, kas tiek izmantots tikai direktorijas tīrīšanai, pirms darbības izpildes. Šeit mēs veicam dzēšanas operāciju HDFS, lai izdzēstu out1 mapi, ja tā jau ir izveidota. Sagatavo tagu izmanto mapes izveidošanai vai dzēšanai pirms darba izpildes. Tad mēs norādām MapReduce rekvizītus, piemēram, darba rindas nosaukumu, kartētāja klasi, reduktora klasi, izejas atslēgas klasi un izvades vērtību klasi.

Pēdējā MapReduce uzdevuma konfigurācija ir HDFS ievades un izvades direktorijs. Ievades direktorija ir dati direktoriju, kas tiek saglabāts NameNode saknes ceļā . Beidzot, mēs norādīsim kill elementu, ja darbs neizdosies.

Tagad mums ir jāpārvieto WordCountTest HDFS mapē, kā mēs to norādījām oozie.wf.application.path īpašums darbs.pašības failu. Tātad, mēs kopējam WordCountTest mapē Hadoop saknes direktorijā.

Komanda: hadoop fs -put WordCountTest /

Lai pārbaudītu, varat doties uz NameNode Web UI un pārbaudīt, vai mape ir augšupielādēta HDFS saknes direktorijā.

Tagad mēs visi esam gatavi virzīties uz priekšu un izpildīt darbplūsmas darbu.

Komanda: oozie darbs – oozie http: // localhost: 11000 / oozie -config job.properties -run

Kad būsim izpildījuši savu darbu, mēs iegūsim darba ID (t.i. 0000009-171219160449620-oozie-edur-W ), kā parādīts iepriekšējā attēlā. Jūs varat doties pārbaudīt iesniegto darbu Oozie tīmekļa lietotāja saskarnē, t.i. vietējais saimnieks: 11000 . Zemāk redzamajā attēlā redzams, ka mūsu iesniegtais darbs ir norādīts zemāk.

Ja novērosiet iepriekš redzamajā attēlā, tiks parādīts darba ID, darba nosaukums, darba statuss, lietotājs, kurš iesniedza darbu, izveides laiks, sākums un pēdējās modifikācijas. Jūs varat noklikšķināt uz darba, lai iegūtu sīkāku informāciju, piemēram:

  • Informācija par darbu

  • Darba definīcija

  • Darba konfigurācija

Tā kā darba statuss ir izdevies, mums jādodas uz HDFS saknes direktoriju un jāpārbauda, ​​vai izejas direktorijs ir izveidots vai nav.

Kā redzat, ka oozieout direktorijs ir izveidots HDFS, tāpēc tagad apskatīsim izveidoto izvades failu.

Kā esam redzējuši, kā izveidot Oozie darbplūsmas darbu, tagad mēs turpināsim darbu šajā Apache Oozie apmācības emuārā un sapratīsim, kā izveidot koordinatora darbu.

Apache Oozie apmācība: uz laiku balstīts vārdu skaita koordinatora darbs

Šajā piemērā mēs izveidosim uz laiku balstītu vārdu skaita koordinatora darbu, kas tiks izpildīts pēc noteikta laika intervāla. Jūs varat izveidot un ieplānot darbu, izmantojot Apache Oozie, kas jāveic katru dienu vai periodiski.

Ļaujiet mums ātri virzīties uz priekšu šajā Apache Oozie apmācībā un izveidot koordinatora darbu. Šeit mēs izveidosim trīs failus, t.i. koordinators.pašības , koordinators.xml & workflow.xml failu. Atkal, šeit mēs novietosim w ordcount burka iekšpusē lib direktoriju, kā parādīts zemāk esošajā attēlā.

Tagad apskatīsim šos failus atsevišķi. Pirmkārt, mēs sāksim ar failu koordinator.properties.

Šeit mēs precizējam darbplūsmas izpildes biežumu. Biežums vienmēr tiek izteikts minūtēs. Mūsu gadījumā šis koordinatora darbs tiks izpildīts reizi stundā starp norādīto laiku. Biežums tiek izmantots, lai attēlotu periodiskos intervālus, kuros tiek veidotas datu kopas, un tiek plānots darboties koordinatoru lietojumprogrammas.

Lai definētu biežumu minūtēs, stundās, dienās un mēnešos, izmantojiet šādu formātu:

$ {coord: minūtes (int n)} n $ {koordinators: minūtes (45)} -> 45
$ {coord: stundas (int n)} n * 60 $ {coord: stundas (3)} -> 180
$ {coord: dienas (int n)} mainīgais $ {coord: dienas (2)} -> minūtes 2 pilnās dienās no pašreizējā datuma
$ {coord: mēneši (int n)} mainīgais $ {coord: months (1)} -> minūtes 1 pilnajā mēnesī no pašreizējā datuma

Tālāk mēs definējam darba sākuma un beigu laiku, kā parādīts iepriekš redzamajā attēlā. sākuma laiks ir darba sākuma datums beigu laiks ir darba beigu datums.

Tālāk mēs norādām vietrādi NameNode & ResourceManager, kas tiks izmantots, lai HDFS novirzītu failu workflow.xml un iesniegtu darbus attiecīgi YARN. Beidzot mēs norādām ceļu workflow.xml, kuru mēs saglabāsim HDFS. Mēs arī norādīsim lietojumprogrammas ceļu, kur tiks saglabāti visi faili un lib katalogs.

Otrais fails ir koordinators.xml kur mēs izmantosim visas īpašības, kuras esam norādījuši koordinators.pašības failu. Tagad vispirms mēs norādīsim koordinatora lietojumprogrammas īpašības, t.i., nosaukumu, biežumu un laika joslu. Tālāk mēs atsevišķi norādīsim darbplūsmas. Šeit mums ir tikai viena darbplūsma. Tātad, darbības elementa iekšpusē mēs izveidosim darbplūsmas elementu, kurā norādīsim lietojumprogrammas ceļu.

Tālāk, virzoties uz priekšu, mums ir jārada workflow.xml fails, kurā mēs norādīsim uzdevumu. Tas ir līdzīgs workflow.xml failu, kuru esam izveidojuši darbplūsmas darbā.

Tagad atkal mēs to virzīsim WordCountTest_TimedBased direktoriju HDFS.

Komanda : hadoop fs -put WordCountTest_TimeBased /

Tagad mēs visi esam gatavi virzīties uz priekšu un izpildīt šo koordinatora darbu šajā Oozie apmācībā. Turpināsim to izpildīt.

Komanda : oozie darbs – oozie http: // localhost: 11000 / oozie -config coordinator.properties -run

Pierakstiet šo koordinatora darba ID (t.i., 0000010-171219160449620-oozie-edur-C). Tas jums palīdzēs izsekot jūsu darbu Oozie tīmekļa lietotāja saskarnē.

mvc dizaina raksts java

Jūs varat redzēt darbu, kas norādīts Oozie tīmekļa lietotāja saskarnes cilnē Koordinatora darbi. Līdzīgi darbplūsmas darbam mums ir nosaukums, statuss, lietotājs, biežums, darba sākuma un beigu laiks. Noklikšķinot uz konkrēta darba, tiks parādīta darba informācija, kā parādīts zemāk esošajos attēlos.

  • Koordinatora darba informācija

  • Koordinatora amata definīcija

  • Koordinatora darba konfigurācija

Tagad, kad mēs esam izskatījuši dažādas cilnes. Mēs atgriezīsimies HDFS saknes direktorijā, kur tiks izveidota izvades mape. Kā redzat zemāk esošajā attēlā, oozieTimeBasedout direktorija ir izveidota, kā mēs to norādījām workflow.xml failu.

Tagad apskatīsim izveidoto izvades failu.

Es ceru, ka jūs atradāt šo Apache Oozie Tutorial emuāru par informatīvu. Ja vēlaties uzzināt vairāk, varat to iziet kas stāsta par Big Data un to, kā Hadoop risina problēmas, kas saistītas ar Big Data.

Tagad, kad esat sapratis Apache Oozie, pārbaudiet Autors: Edureka, uzticams tiešsaistes mācību uzņēmums ar vairāk nekā 250 000 apmierinātu izglītojamo tīklu visā pasaulē. Edureka Big Data Hadoop sertifikācijas apmācības kurss palīdz izglītojamajiem kļūt par HDFS, dzijas, MapReduce, Pig, Hive, HBase, Oozie, Flume un Sqoop ekspertiem, izmantojot reāllaika lietošanas gadījumus mazumtirdzniecības, sociālo mediju, aviācijas, tūrisma, finanšu jomā.

Vai mums ir jautājums? Lūdzu, pieminējiet to komentāru sadaļā, un mēs ar jums sazināsimies.