Apache Hadoop
Apache Hadoop adalah sebuah ekosistem yang terdiri dari software-software yang saling bekerja sama untuk mengolah data, bersifat bebas dan open source, yang ditulis dalam kerangka bahasa pemrograman Java untuk dijalankan secara terdistribusi dan skalabel. 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. Komputer cluster sendiri memungkinkan Apache Hadoop untuk menghubungkan beberapa komputer sehingga dapat saling bekerja sama dan sinkron dalam menyimpan dan mengolah data sebagai satu kesatuan.
Hadoop memiliki beberapa modul yang termasuk dalam kerangka kerjanya, yaitu:
- 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.
- Chukwa – memungkinkan pemantauan secara real-time dari sistem terdistribusi yang sangat besar.
- Zookeeper – digunakan untuk koordinasi dan konfigurasi pada sistem terdistribusi.
Pengelompokkan software-software yang terdapat di Hadoop sesuai dengan fungsinya masing-masing yaitu:
- Inti atau core dari Hadoop. Bagian ini adalah software utama yang menjadi dasar dari ekosistem. Software ini bisa didapat di web site Apache Hadoop. Inti hadoop ini terdiri dari beberapa bagian yaitu Hadoop Distributed File System (HDFS) dan Map Reduce. HDFS adalah tempat data-data dan file disimpan. Map Reduce disini adalah program untuk melakukan datamining dan pengolahan data lainnya dari file atau data yang disimpan di HDFS.
- Data mining. Bagian ini sebenarnya bisa dikatakan adalah API untuk menjalankan Map Reduce. Bagian ini mempermudah membuat dan menjalankan Map Reduce. Dengan demikian akan lebih mudah membuat dan menjalankan query. Contoh dari bagian ini adalah Apache Pig dan Apache Hive
- Database NoSQL (Not Only SQL). Bagian ini ada karena proses Map Reduce biasanya memakan waktu lama (karena data yang diproses biasanya besar) dan dilakukan secara periodik dan tidak sewaktu-waktu. Bagian ini memberikan akses data yang lebih cepat dan bisa sewaktu-waktu. Contoh NOSQL yang biasa dipakai adalah Apache HBase dan Apache Cassandra.
- Bagian pendukung lain. Bagian ini padaumumnya dalah pendukung operasional Hadoop. Contohnya adalah Apache Zookeeper yang berfungsi untuk mengatur distribusi data dan pemrosesan data. Zookeeper dipakai oleh Apache HBase. Apache Flume berfungsi untuk mengatur input kedalam hadoop dari sumer data yang bersifat streaming misalnya dari Twitter. Ada banyak lagi software pendukung Hadoop ini. Seperti Apache Ambari, Apache Oozie dsbnya. Tidak mutlak harus memakai semuanya. Hanya tergantung kebutuhan saja.


Komentar
Posting Komentar