Apa itu Hadoop?
Apache Hadoop adalah kerangka perangkat lunak sumber terbuka yang digunakan untuk mengembangkan aplikasi pemrosesan data yang dijalankan dalam lingkungan komputasi terdistribusi.
Aplikasi yang dibangun menggunakan HADOOP dijalankan pada kumpulan data besar yang didistribusikan ke seluruh cluster komputer komoditas. Komputer komoditas murah dan banyak tersedia. Ini terutama berguna untuk mencapai daya komputasi yang lebih besar dengan biaya rendah.
Mirip dengan data yang berada di sistem file lokal dari sistem komputer pribadi, di Hadoop, data berada dalam sistem file terdistribusi yang disebut sebagai sistem File Terdistribusi Hadoop . Model pemrosesan didasarkan pada konsep 'Data Locality' dimana logika komputasi dikirim ke node cluster (server) yang berisi data. Logika komputasi ini tidak lain adalah versi program yang dikompilasi yang ditulis dalam bahasa tingkat tinggi seperti Java. Program semacam itu, memproses data yang disimpan di Hadoop HDFS.
Tahukah kamu? Cluster komputer terdiri dari sekumpulan beberapa unit pemrosesan (penyimpanan disk + prosesor) yang terhubung satu sama lain dan bertindak sebagai satu sistem.
Dalam tutorial ini, Anda akan belajar,
- Komponen dan Sistem Lingkungan Hadoop
- Arsitektur Hadoop
- Fitur 'Hadoop'
- Topologi Jaringan Di Hadoop
Komponen dan Sistem Lingkungan Hadoop
Diagram di bawah ini menunjukkan berbagai komponen dalam ekosistem Hadoop-
Apache Hadoop terdiri dari dua sub-proyek -
- Hadoop MapReduce: MapReduce adalah model komputasi dan kerangka perangkat lunak untuk menulis aplikasi yang dijalankan di Hadoop. Program MapReduce ini mampu memproses data yang sangat besar secara paralel pada cluster node komputasi yang besar.
- HDFS ( Hadoop Distributed File System ): HDFS menangani bagian penyimpanan aplikasi Hadoop. Aplikasi MapReduce menggunakan data dari HDFS. HDFS membuat beberapa replika blok data dan mendistribusikannya pada node komputasi dalam sebuah cluster. Distribusi ini memungkinkan penghitungan yang andal dan sangat cepat.
Meskipun Hadoop terkenal dengan MapReduce dan sistem file terdistribusi- HDFS, istilah ini juga digunakan untuk keluarga proyek terkait yang berada di bawah payung komputasi terdistribusi dan pemrosesan data skala besar. Proyek terkait Hadoop lainnya di Apache termasuk Hive, HBase, Mahout, Sqoop, Flume, dan ZooKeeper.
Arsitektur Hadoop
Hadoop memiliki Arsitektur Master-Slave untuk penyimpanan data dan pemrosesan data terdistribusi menggunakan metode MapReduce dan HDFS.
NameNode:
NameNode mewakili setiap file dan direktori yang digunakan di namespace
DataNode:
DataNode membantu Anda mengelola status node HDFS dan memungkinkan Anda berinteraksi dengan blok
MasterNode:
Node master memungkinkan Anda melakukan pemrosesan data secara paralel menggunakan Hadoop MapReduce.
Node budak:
Node budak adalah mesin tambahan dalam cluster Hadoop yang memungkinkan Anda menyimpan data untuk melakukan penghitungan yang kompleks. Selain itu, semua node slave dilengkapi dengan Task Tracker dan DataNode. Ini memungkinkan Anda untuk menyinkronkan proses dengan NameNode dan Job Tracker masing-masing.
Di Hadoop, sistem master atau slave dapat disiapkan di cloud atau di lokasi
Fitur 'Hadoop'
• Cocok untuk Analisis Big Data
Karena Big Data cenderung didistribusikan dan tidak terstruktur, cluster HADOOP paling cocok untuk analisis Big Data. Karena ini adalah logika pemrosesan (bukan data sebenarnya) yang mengalir ke node komputasi, lebih sedikit bandwidth jaringan yang dikonsumsi. Konsep ini disebut sebagai konsep lokalitas data yang membantu meningkatkan efisiensi aplikasi berbasis Hadoop.
• Skalabilitas
Kluster HADOOP dapat dengan mudah diskalakan hingga batas mana pun dengan menambahkan node kluster tambahan dan dengan demikian memungkinkan pertumbuhan Big Data. Selain itu, penskalaan tidak memerlukan modifikasi pada logika aplikasi.
• Toleransi kesalahan
Ekosistem HADOOP memiliki ketentuan untuk mereplikasi data input ke node cluster lainnya. Dengan begitu, jika terjadi kegagalan node cluster, pemrosesan data masih dapat dilanjutkan dengan menggunakan data yang disimpan di node cluster lain.
Topologi Jaringan Di Hadoop
Topologi (Pengaturan) jaringan, memengaruhi performa cluster Hadoop saat ukuran cluster Hadoop bertambah. Selain kinerja, orang juga perlu memperhatikan ketersediaan tinggi dan penanganan kegagalan. Untuk mencapai Hadoop ini, pembentukan cluster menggunakan topologi jaringan.
Biasanya, bandwidth jaringan merupakan faktor penting untuk dipertimbangkan saat membentuk jaringan apa pun. Namun, karena mengukur bandwidth bisa jadi sulit, di Hadoop, jaringan direpresentasikan sebagai pohon dan jarak antar node pohon ini (jumlah hop) dianggap sebagai faktor penting dalam pembentukan cluster Hadoop. Di sini, jarak antara dua node sama dengan jumlah jarak mereka ke nenek moyang terdekatnya.
Kluster Hadoop terdiri dari pusat data, rak, dan node yang benar-benar menjalankan pekerjaan. Di sini, data center terdiri dari rak dan rak terdiri dari node. Bandwidth jaringan yang tersedia untuk proses bervariasi tergantung pada lokasi proses. Artinya, bandwidth yang tersedia menjadi lebih sedikit saat kita pergi dari-
- Proses di node yang sama
- Node berbeda di rak yang sama
- Node di rak berbeda dari pusat data yang sama
- Node di pusat data yang berbeda