Apache Hadoop

Apache Hadoop adalah software bebas dan open source, yang ditulis dalam kerangka bahasa pemrograman Java untuk dijalankan secara terdistribusi dan skalabel. Ia dibangun berdasarkan algoritma popular MapReduce dari Google Inc, berikut sistem berkas yang disarankan Google (GFS = Google File System), yang memungkinkan menjalankan tugas komputasi intensif dalam mengolah data jumlah besar (Big Data, sekitar petabyte keatas) di komputer cluster dengan hardware komoditas.

Apache Hadoop logo880

Hadoop awalnya diprakarsai oleh penemu Lucene Doug Cutting, yang sejak tanggal 23 Januari 2008 telah menjadi proyek tingkat atas di lingkungan Apache Software Foundation dan dikembangkan secara terbuka oleh komunitas kontributor secara global. Pengguna Hadoop adalah, termasuk Facebook, a9.com, AOL, Baidu, IBM, ImageShack, dan Yahoo. Hadoop tersedia bebas menyandang lisensi Apache License 2.0.

Apache Hadoop Stack

Kerangka kerja Hadoop terdiri dari modul-modul termasuk:

  • Hadoop Common – berisi perpustakaan dan utilitas yang diperlukan oleh modul Hadoop lainnya,
  • Hadoop Distributed File System (HDFS) – sebuah sistem berkas terdistribusi dengan high-availability yang dapat menyimpan data pada mesin komoditas, digunakan untuk menyediakan bandwidth sangat tinggi yang di agregasi ke semua cluster (node). Berkas dibagi menjadi blok data dengan panjang yang baku dan didistribusikan secara redundan (berlebihan) pada simpul (node) yang berpartisipasi. HDFS bekerja menggunakan pendekatan master-slave, dimana sebuah node master, yang disebut NameNode, memroses permintaan data yang masuk, mengorganisir berkas di dalam node slave dan menyimpan metadata yang dihasilkannya. HDFS mendukung sistem berkas dengan beberapa ratus juta file. Baik panjang blok berkas maupun tingkat redundansi, keduanya dapat dikonfigurasi.
  • Hadoop YARN – sebuah platform manajemen sumber daya yang bertanggung jawab atas pengelolaan sumber daya komputasi dalam sebuah cluster dan digunakan untuk penjadwalan aplikasi pengguna.
  • Hadoop MapReduce – model pemrograman untuk pengolahan data skala besar.
  • HBase – adalah database sederhana, dan skalabel untuk mengelola data dengan jumlah yang sangat besar dalam cluster Hadoop. Database HBase didasarkan pada implementasi bebas dari BigTable besutan Google. Struktur data ini cocok untuk data yang jarang berubah, tapi sangat sering ditambahkan. Menggunakan HBase dapat dikelola miliaran baris data secara efisien.
  • Hive – melengkapi Hadoop Hive dengan fungsi Data-Warehouse, yaitu bahasa query HiveQL dan indeks. HiveQL adalah bahasa query berbasis SQL dan memungkinkan pengembang untuk menggunakan sintaks seperti SQL. Pada musim panas tahun 2008 Facebook, pengembang asli dari Hive, menyerahkan Hive nebjadi proyek komunitas open source. Database Hadoop yang digunakan oleh Facebook berkisar diatas 100 petabyte merupakan terbesar (Agustus 2012) di dunia.
  • Pig – dapat digunakan sebagai bahasa pemrograman high-level (Pig Latin) untuk menulis program pada Hadoop MapReduce. Pig memiliki karakter sebagai berikut:
  1. Kesederhanaan: Eksekusi analisis kompleks secara paralel yang sederhana dan mudah dimengerti.
  2. Optimasi: Pig memgoptimalkan dengan sendirinya pelaksanaan operasi kompleks menurut metode Carsten.
  3. Ekstensibilitas: Pig dapat diperluas fungsionalitas-nya sehingga mudah disesuaikan dengan aplikasi khusus.
  • Chukwa – memungkinkan pemantauan secara real-time dari sistem terdistribusi yang sangat besar.
  • Zookeeper – digunakan untuk koordinasi dan konfigurasi pada sistem terdistribusi.