Header Ads

www.domainesia.com

OOZIE(2)

Pengemasan dan penerapan aplikasi alur kerja Oozie


Aplikasi alur kerja terdiri dari definisi alur kerja dan semua sumber daya terkait seperti file Jar MapReduce, skrip Pig, dll. Aplikasi harus mengikuti struktur direktori sederhana dan disebarkan ke HDFS sehingga Oozie dapat mengaksesnya.

Contoh struktur direktori ditunjukkan di bawah ini-

<name of workflow>/</name>
??? lib/
? ??? hadoop-examples.jar
??? workflow.xml

Penting untuk menyimpan workflow.xml (file definisi alur kerja) di direktori tingkat atas (direktori induk dengan nama alur kerja). Direktori lib berisi file Jar yang berisi kelas MapReduce. Aplikasi alur kerja yang sesuai dengan tata letak ini dapat dibangun dengan alat build apa pun.

Build perlu disalin ke HDFS menggunakan perintah, misalnya –

% hadoop fs -put hadoop-examples/target/<name of workflow dir> name of workflow


Langkah-langkah untuk Menjalankan pekerjaan alur kerja Oozie

Di bagian ini, kita akan melihat cara menjalankan pekerjaan alur kerja. Untuk menjalankan ini, kita akan menggunakan alat baris perintah Oozie (program klien yang berkomunikasi dengan server Oozie).

1. Ekspor variabel lingkungan OOZIE_URL yang memberi tahu perintah oozie server Oozie mana yang akan digunakan (di sini kami menggunakan yang berjalan secara lokal):

% export OOZIE_URL="http://localhost:11000/oozie"

2. Jalankan pekerjaan alur kerja menggunakan-

% oozie job -config ch05/src/main/resources/max-temp-workflow.properties -run 

Opsi -config merujuk ke file properti Java lokal yang berisi definisi untuk parameter dalam file XML alur kerja, serta oozie.wf.application.path, yang memberi tahu Oozie lokasi aplikasi alur kerja di HDFS.
Contoh isi file properti:

nameNode=hdfs://localhost:8020
jobTracker=localhost:8021
oozie.wf.application.path=${nameNode}/user/${user.name}/<name of workflow>

3. Dapatkan status pekerjaan alur kerja-
Status pekerjaan alur kerja dapat dilihat menggunakan sub-perintah 'pekerjaan' dengan opsi '-info' dan menentukan id pekerjaan setelah '-info'.

e.g., % oozie job -info <job id>

Output menunjukkan status yang merupakan salah satu RUNNING, KILLED atau SUCCEEDED.

4. Hasil eksekusi workflow yang berhasil dapat dilihat dengan menggunakan perintah Hadoop seperti-

% hadoop fs -cat <location of result>

Mengapa menggunakan Oozie?

Tujuan utama menggunakan Oozie adalah untuk mengelola berbagai jenis pekerjaan yang sedang diproses dalam sistem Hadoop.
Dependensi antar pekerjaan ditentukan oleh pengguna dalam bentuk grafik acyclic berarah. Oozie menggunakan informasi ini dan menangani eksekusinya dalam urutan yang benar seperti yang ditentukan dalam alur kerja. Dengan begitu, waktu pengguna untuk mengelola alur kerja lengkap dapat disimpan. Selain itu, Oozie memiliki ketentuan untuk menentukan frekuensi pelaksanaan pekerjaan tertentu.

Fitur Oozie

  • Oozie memiliki API klien dan antarmuka baris perintah yang dapat digunakan untuk meluncurkan, mengontrol, dan memantau pekerjaan dari aplikasi Java.
  • Menggunakan API Layanan Web-nya, seseorang dapat mengontrol pekerjaan dari mana saja.
  • Oozie memiliki ketentuan untuk melaksanakan pekerjaan yang dijadwalkan untuk dijalankan secara berkala.
  • Oozie memiliki ketentuan untuk mengirim pemberitahuan email setelah menyelesaikan pekerjaan.

Tidak ada komentar