Apa itu Sistem File Terdistribusi Hadoop (HDFS)? Arsitektur, Fitur & Operasi
Diterbitkan: 2020-02-03Hadoop Distributed File System atau HDFS adalah sistem penyimpanan utama Hadoop. Ini menyimpan file data besar yang berjalan pada perangkat keras komoditas. Sistem penyimpanan ini dapat diskalakan, mudah diperluas, dan toleran terhadap kesalahan.
Ketika ada terlalu banyak data yang disimpan pada satu mesin fisik, penyimpanan tersebut dibagi menjadi beberapa mesin untuk menghindari hilangnya data. HDFS adalah salah satu sistem penyimpanan file terdistribusi yang mengelola operasi penyimpanan di banyak mesin fisik. Berikut adalah tutorial HDFS bagi Anda untuk lebih memahami cara kerja sistem ini. Mari kita mulai dengan arsitekturnya.
Daftar isi
Arsitektur HDFS
Sistem File Terdistribusi Hadoop memiliki arsitektur master-slave dengan komponen berikut:
- Namenode : Ini adalah perangkat keras komoditas yang menampung perangkat lunak namenode dan OS Linux/GNU. Perangkat lunak Namenode dapat berjalan dengan lancar di perangkat keras komoditas tanpa mengalami masalah apa pun. Sistem dengan namenode sebagai komponen berfungsi sebagai server master. Ini melakukan tugas-tugas yang mencakup mengatur bagaimana klien mengakses file, mengelola ruang nama sistem file, dan menjalankan operasi, termasuk membuka, menutup, dan mengganti nama direktori dan file.
- Datanode : Ini adalah perangkat keras komoditas yang berisi perangkat lunak simpul data dan OS Linux/GNU. Node dalam sebuah cluster akan selalu memiliki node data yang terkait dengannya. Node ini bertanggung jawab untuk mengelola penyimpanan perangkat keras/sistem komoditas. Beberapa tugas yang dilakukan node data termasuk operasi baca/tulis sesuai dengan permintaan dan pembuatan klien, replikasi, dan penghapusan blok berdasarkan instruksi yang diberikan oleh namenode.
- Blokir : Seluruh data pengguna disimpan dalam file HDFS. Setiap file milik sistem file tertentu dibagi menjadi satu atau lebih dari satu segmen, yang kemudian disimpan adalah datanode. Segmen file tempat file dibagi adalah blok. Jadi, data terkecil yang mampu dibaca atau ditulis oleh HDFS adalah sebuah blok. Awalnya, setiap blok berukuran 64MB. Namun, ukuran ini dapat ditingkatkan sesuai dengan perubahan konfigurasi HDFS.
Arsitektur HDFS memberikan gambaran yang jelas dan tidak ambigu tentang pekerjaan HDFS. Ini terdiri dari beberapa datanode tetapi hanya satu namenode. Metadata disimpan di namenode sedangkan pekerja sebenarnya dari dua jenis node adalah datanode. Node diatur dalam rak yang berbeda di mana blok data disimpan untuk meningkatkan toleransi kesalahan dan keandalan data. Klien harus berinteraksi dengan namenode untuk membaca/menulis file. Cluster memiliki beberapa datanode yang menggunakan disk lokal untuk menyimpan data yang tersedia. Datanode dan namenode selalu berhubungan satu sama lain. Datanode juga bertanggung jawab untuk mereplikasi data menggunakan fitur replikasi ke datanode yang berbeda.
Operasi baca dan tulis dalam HDFS berlangsung pada level terkecil, yaitu level blok. Konsep replikasi data merupakan inti dari cara kerja HDFS – ketersediaan data yang tinggi dipastikan selama kegagalan node dengan membuat replika blok dan distribusi blok tersebut di seluruh cluster.
Operasi HDFS
Sistem file HDFS dan Linux sangat mirip satu sama lain. Jadi, HDFS memungkinkan kita untuk melakukan semua operasi yang biasa kita lakukan dengan sistem file lokal – kita dapat membuat direktur, mengubah izin, menyalin file, dan melakukan lebih banyak lagi. Kami juga memiliki beberapa hak akses file, termasuk membaca, menulis, dan mengeksekusi.

Operasi baca di HDFS: Jika Anda ingin membaca file yang disimpan di HDFS, Anda harus berinteraksi dengan namenode. Seperti yang telah disebutkan, semua metadata disimpan di namenode. Setelah Anda berinteraksi dengan namenode, itu akan memberi Anda alamat datanode tempat file yang Anda cari disimpan. Anda kemudian dapat berinteraksi dengan datanode yang alamatnya telah diberikan oleh namenode Anda, dan kemudian membaca informasi dari sana.
Anda berinteraksi dengan API sistem file, yang meminta namenode untuk berbagi alamat blok. Sebelum memberikan informasi ini, namenode melakukan pemeriksaan untuk mengetahui apakah Anda berhak mengakses data ini atau tidak. Setelah pemeriksaan ini selesai, namenode membagikan lokasi blok atau menolak akses karena batasan.
Anda diberi bentuk token oleh namenode, yang harus Anda tunjukkan ke datanode masing-masing untuk mengakses file. Ini adalah bentuk mekanisme keamanan yang digunakan HDFS untuk memastikan bahwa orang yang tepat mengakses data. Datanode hanya akan membiarkan Anda membaca file setelah Anda menampilkan token.

Operasi tulis: Operasi penulisan mengikuti pola awal yang sama. Anda perlu meminta namenode agar Anda dapat menulis data. Sebagai gantinya, ini akan memberi Anda lokasi datanode tempat operasi tulis harus dilakukan. Segera setelah Anda selesai melakukan operasi ini, datanode akan mulai mereplikasi blok data tertulis ini pada datanode lain. Setelah replikasi selesai, Anda akan menerima pengakuan. Mekanisme otentikasi dalam operasi tulis sama dengan operasi baca.

Fitur HDFS
- Ketersediaan : Tidak terlalu banyak sistem file yang datang dengan ketersediaan HDFS yang tinggi. Sistem file mengikuti mekanisme replikasi data dalam bentuk replika blok pada datanodes (slave) di seluruh cluster. Untuk mengakses data ini, Anda perlu berinteraksi dengan datanode yang berisi blok informasi yang mereka cari.
- Keandalan : Hadoop Distributed File System adalah sistem penyimpanan data yang sangat andal. Jumlah data yang dapat disimpan pada HDFS berkisar dalam petabyte. Ini menggunakan cluster untuk menyimpan semua datanya, yang dipisahkan untuk membentuk blok. Kemudian menggunakan node cluster untuk menyimpan blok ini.
- Toleransi kesalahan : Fitur ini adalah kekuatan kerja HDFS dalam kondisi yang tidak kondusif seperti biasanya. HDFS mentolerir kesalahan seperti tidak ada sistem file lain. Ini melindungi data Anda dari efek yang tidak terduga, bahkan di masa depan. Seperti yang telah disinggung, replikasi data dilakukan pada mesin yang berbeda. Apa yang terjadi ketika salah satu dari mesin ini berhenti bekerja? Itu bisa menjadi masalah yang signifikan dengan sistem lain, tetapi bukan HDFS. HDFS memungkinkan Anda untuk mengakses data Anda dari mesin lain yang juga memiliki salinan blok data yang Anda cari. Ini disebut toleransi kesalahan sejati.
- Skalabilitas : HDFS menggunakan node yang berbeda dalam sebuah cluster untuk menyimpan data. Saat kebutuhan penyimpanan meningkat, Anda selalu dapat melanjutkan dan menskalakan kluster. Ini adalah fitur lain yang unik untuk HDFS. Sistem distribusi file memberi Anda dua mekanisme untuk menskalakan cluster – skalabilitas horizontal dan vertikal.
- Replikasi : Replikasi adalah fitur yang membedakan HDFS dari sistem penyimpanan lainnya. Replikasi meminimalkan contoh kehilangan data karena peristiwa yang tidak menguntungkan, seperti node crash, kegagalan perangkat keras, dan lain-lain. Proses replikasi dilakukan secara teratur dan pada mesin yang berbeda. Jadi, tidak ada kehilangan data jika mesin mati. Anda dapat menggunakan mesin lain untuk mendapatkan data Anda.
Tujuan HDFS
- Mengelola kumpulan data besar: Tidak seperti sistem distribusi file lainnya, HDFS memiliki arsitektur yang diperlukan untuk mengelola aplikasi yang menampilkan kumpulan data besar. Bergantung pada besarnya kumpulan data yang dimaksud, ia dapat memiliki ratusan node untuk setiap cluster.
- Deteksi dan pemulihan kesalahan: Tidak banyak yang dapat mengalahkan HDFS dalam kemampuannya yang terkait dengan mendeteksi kesalahan dan kemudian menanganinya dengan tepat. Banyaknya komoditas hardware yang dimaksud membuat HDFS sering terkena kegagalan komponen. Namun, ini bukan kerugian. Setiap sistem yang berurusan dengan perangkat keras komoditas semacam itu terbuka untuk kegagalan. Namun, pertanyaannya tetap apakah sistem mahir atau tidak dengan cepat dan otomatis mendeteksi kegagalan tersebut dan memberikan pemulihan pada saat yang sama. HDFS tentu mampu.
- Peningkatan throughput: HDFS memproses setiap tugas secara efisien karena komputasi aktual dilakukan di dekat data itu sendiri. Ini sangat penting ketika kita berurusan dengan kumpulan data yang sangat besar. Mekanisme ini meningkatkan throughput dan menghilangkan masalah lalu lintas jaringan secara signifikan.
Sebagai kesimpulan, kami ingin mengatakan bahwa HDFS dapat menyimpan data dalam jumlah besar dengan cara yang andal dan tanpa merasakan efek kegagalan perangkat keras. Ini juga sangat toleran terhadap kesalahan, sangat tersedia, dan sangat skalabel.
Untuk menjelajahi kedalaman Hadoop dan menjadi ahli, lihat Sertifikasi PG upGrad & BITS Pilani di Big Data & Analytics. Dapatkan pengalaman langsung, tatap muka dengan pakar industri, mentor berdedikasi, Status Alumni BITS Pilani, dan banyak lagi.
Jika Anda tertarik untuk mengetahui lebih banyak tentang Big Data, lihat Diploma PG kami dalam Spesialisasi Pengembangan Perangkat Lunak dalam program Big Data yang dirancang untuk para profesional yang bekerja dan menyediakan 7+ studi kasus & proyek, mencakup 14 bahasa & alat pemrograman, praktik langsung lokakarya, lebih dari 400 jam pembelajaran yang ketat & bantuan penempatan kerja dengan perusahaan-perusahaan top.
Pelajari Kursus Pengembangan Perangkat Lunak online dari Universitas top dunia. Dapatkan Program PG Eksekutif, Program Sertifikat Tingkat Lanjut, atau Program Magister untuk mempercepat karier Anda.