Apa itu Hadoop? Perkenalan, Architekstur, Ekosistem, Komponen
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 tersedia secara luas. Hal ini terutama berguna untuk mencapai daya komputasi yang lebih besar dengan biaya rendah.
Mirip dengan data yang berada di sistem file lokal sistem komputer pribadi, di Hadoop, data berada di sistem file terdistribusi yang disebut sebagai a Sistem File Terdistribusi Hadoop. Model pemrosesan didasarkan pada 'Lokalitas Data' konsep di mana logika komputasional dikirim ke node cluster (server) yang berisi data. Logika komputasional ini tidak lain hanyalah versi terkompilasi dari program yang ditulis dalam bahasa tingkat tinggi seperti Java. Program semacam itu, memproses data yang disimpan di dalamnya Hadoop HDFS.
Apakah Anda tahu? Cluster komputer terdiri dari sekumpulan beberapa unit pemrosesan (disk penyimpanan + prosesor) yang terhubung satu sama lain dan bertindak sebagai satu sistem.
Ekosistem dan Komponen Hadoop
Diagram di bawah ini menunjukkan berbagai komponen dalam ekosistem Hadoop-
Apache Hadoop terdiri dari dua sub-proyek –
- Pengurangan Peta Hadoop: MapReduce adalah model komputasi dan kerangka perangkat lunak untuk menulis aplikasi yang dijalankan di Hadoop. Program MapReduce ini mampu memproses data dalam jumlah besar secara paralel pada cluster node komputasi yang besar.
- HDFS (Sistem File Terdistribusi Hadoop): 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 komputasi yang andal dan sangat cepat.
Meskipun Hadoop terkenal karena MapReduce dan sistem file terdistribusinya- HDFS, istilah ini juga digunakan untuk serangkaian proyek terkait yang berada di bawah payung komputasi terdistribusi dan pemrosesan data skala besar. Proyek terkait Hadoop lainnya di Apache termasuk adalah Hive, HBase, Mahout, Sqoop, Flume, dan Penjaga Kebun Binatang.
Hadoop Architekstur
Hadoop memiliki Master-Slave Architekstur untuk penyimpanan data dan pemrosesan data terdistribusi menggunakan PetaKurangi dan metode HDFS.
NamaNode:
NameNode mewakili setiap file dan direktori yang digunakan dalam namespace
simpul data:
DataNode membantu Anda mengelola status node HDFS dan memungkinkan Anda berinteraksi dengan blok
Node Utama:
Node master memungkinkan Anda melakukan pemrosesan data paralel menggunakan Hadoop MapReduce.
Simpul budak:
Node slave merupakan mesin tambahan dalam kluster Hadoop yang memungkinkan Anda menyimpan data untuk melakukan kalkulasi yang rumit. Selain itu, semua node slave dilengkapi dengan Task Tracker dan DataNode. Hal ini memungkinkan Anda untuk menyinkronkan proses dengan NameNode dan Job Tracker.
Di Hadoop, sistem master atau slave dapat diatur di cloud atau di lokasi
Fitur 'Hadoop'
• Cocok untuk Analisis Big Data
Karena Big Data cenderung terdistribusi dan tidak terstruktur, cluster HADOOP paling cocok untuk analisis Big Data. Karena 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
Cluster HADOOP dapat dengan mudah ditingkatkan skalanya dengan menambahkan node cluster tambahan sehingga 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 klaster lain. Dengan demikian, jika terjadi kegagalan node klaster, pemrosesan data masih dapat dilanjutkan dengan menggunakan data yang disimpan di node klaster lain.
Topologi Jaringan Di Hadoop
Topologi (Pengaturan) jaringan, mempengaruhi kinerja cluster Hadoop ketika ukuran cluster Hadoop bertambah. Selain performa, kita 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 mungkin 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.
Cluster Hadoop terdiri dari pusat data, rak, dan node yang benar-benar menjalankan pekerjaan. Di sini, pusat data 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 ketika kita menjauh dari-
- Proses pada node yang sama
- Node berbeda di rak yang sama
- Node di rak berbeda dari pusat data yang sama
- Node di pusat data yang berbeda