Hadoop YARN adalah

Dalam artikel ini saya akan membahas secara singkat tentang pengertian hadoop YARN, rekans dapat memahami artikel ini dengan lebih baik jika rekans telah memiliki pengetahuan dasar tentang Hadoop dan MapReduce. Jika rekans belum mengetahuinya dapat dibaca pada artikel berikut.


Apa itu Hadoop YARN?


Untuk penyederhanaan saya coba merumuskan definisi hadoop YARN ke dalam poin-poin sebagai berikut :
  • Hadoop YARN adalah singkatan dari Yet Another Resource Negotiator
  • Merupakan platform untuk manajemen resource/sumber daya yang bertanggung jawab untuk mengelola resources dalam clusters dan Job scheduling
  • Sub-proyek kunci dari arsitektur proyek Apache Hadoop 2
  • Kadang-kadang disebut juga NextGen MapReduce (MRv2) - Generasi terbaru MapReduce, karena YARN lahir sebagai bentuk perbaikan dari MapReduce

Komponen utama YARN
Komponen utama YARN
sumber gambar: dari situs apache hadoop

YARN sebagai arsitektur baru dari Apache hadoop 2 membagi dua fungsi utama dari JobTracker/TaskTracker pada MapReduce menjadi beberapa entitas yang terpisah.

  • Global ResourceManager di node master, yang berfungsi mengatur semua resource yang digunakan aplikasi dalam sistem.
  • ApplicationMaster di setiap aplikasi, yang berfungsi untuk negosiasi resource dengan ResourceManager dan kemudian bekerja sama dengan NodeManager untuk mengeksekusi dan memonitor tasks
  • NodeManager di Agen-Framework setiap node slave,
  • yang bertanggung jawab terhadap Container, dengan memantau penggunaan resource/sumber daya dari container(cpu, memori, disk, jaringan ) dan melaporkannya pada ResourceManager
  • Container di setiap aplikasi yang jalan di NodeManager, sebagai wadah penyimpanan data/file

Apa kegunaan Hadoop YARN?

Sebelum memahami kegunaan YARN, akan lebih baik jika kita mengerti resource-management pada Apache Hadoop 1.0 dan limitasi yang yang dihadapi dari pendekatan Apache Hadoop 1.0.

Arsitektur hadoop 1.0

YARN didesain untuk mengatasi beberapa limitasi dari MapReduce pada Framework Hadoop versi sebelumnya, berikut beberapa limitasi dari MapReduce berdasarkan pada gambar arsitektur di atas.

1. Skalabilitas terbatas dikarenakan JobTracker hanya ada pada node master yang menjalan semua proses baik pengelolan resource, proses schedulling, maupun monitoring-nya. Dengan adanya single Jobtracker ini skalabilitas-nya menjadi terbatas.
  • Maksimum cluster adalah 4,000 Nodes
  • Maksimum task secara konkuren adalah 40,000
  • Sinkronisasi yang berat pada JobTracker
2. Ada isu terkait availability, karena single JobTracker, jika JobTracker gagal maka seluruh job mesti di-restart/re-submit.

3. Pemanfaatan resource yang rendah, karena mengalami kesulitan partisi resource ke dalam slot map dan reduce

4. Isu kompatibalitas, karena hanya support aplikasi dengan paradigma MapReduce
  • Hanya support MapReduce
  • Aplikasi bersifat iterasi 10x lebih lambat dengan MapReduce
  • Tidak handal untuk aplikasi pemrosesan Grafik

Jadi dapat disimpulkan kegunaan dari Hadoop YARN adalah :
  • Skalabilitas yang jauh lebih tinggi
  • Availability yang lebih baik
  • Penggunaan resource lebih optimal
  • Mampu support bermacam jenis paradigma dari aplikasi, tidak hanya MapReduce


Kesimpulan :
Hadoop YARN adalah platform untuk resource-management yang muncul untuk mengatasi limitasi MapReduce pada arsitektur Hadoop 1.0

3 Responses to "Hadoop YARN adalah"