My IBM Masuk Berlangganan

Beranda

Topics

HDFS

Apa itu Hadoop Distributed File System (HDFS)?

Apa itu Hadoop Distributed File System (HDFS)?

Jelajahi solusi data cloud IBM Daftar untuk mendapatkan pembaruan AI
Ilustrasi dengan kolase piktogram awan dan diagram lingkaran

Diperbarui: 14 Juni 2024
Kontributor: Jim Holdsworth

Apa itu HDFS?

Apa itu HDFS?

Hadoop Distributed File System (HDFS) adalah sistem file yang mengelola kumpulan data besar yang dapat berjalan pada perangkat keras komoditas. HDFS adalah sistem penyimpanan data yang paling populer untuk Hadoop dan dapat digunakan untuk menskalakan satu cluster Apache Hadoop menjadi ratusan bahkan ribuan node. Karena secara efisien mengelola big data dengan throughput tinggi, HDFS dapat digunakan sebagai pipeline data dan sangat ideal untuk mendukung analitik data yang kompleks.

HDFS dibangun di atas kerangka kerja sumber terbuka dan merupakan salah satu komponen utama Apache Hadoop, yang lainnya adalah MapReduce dan YARN. HDFS tidak boleh disamakan atau diganti dengan Apache HBase, yang merupakan sistem manajemen basis data non-relasional yang berorientasi kolom yang berada di atas HDFS dan dapat lebih mendukung kebutuhan data real-time dengan mesin pemrosesan dalam memori.

AI generatif dan ML untuk perusahaan

Pelajari manfaat utama AI generatif dan bagaimana organisasi dapat meningkatkan bisnis mereka.

Konten terkait Daftar untuk mendapatkan buku elektronik di penyimpanan data AI
Manfaat HDFS

Manfaat HDFS

Toleransi kesalahan dan pemulihan cepat dari kegagalan perangkat keras

Karena satu instance HDFS dapat terdiri dari ribuan server, kegagalan pada setidaknya satu server selalu ada. HDFS telah dibangun untuk mendeteksi kesalahan dan secara otomatis pulih dengan cepat. Data replication dengan beberapa salinan di banyak node membantu melindungi dari kehilangan data. HDFS menyimpan setidaknya satu salinan di rak yang berbeda dari semua salinan lainnya. Penyimpanan data ini dalam cluster besar di seluruh node meningkatkan keandalan. Selain itu, HDFS dapat mengambil snapshot penyimpanan untuk menyimpan informasi point-in-time (PIT).

Akses ke data streaming

HDFS lebih ditujukan untuk pemrosesan batch daripada penggunaan interaktif, sehingga penekanan dalam desain adalah untuk tingkat throughput data yang tinggi, yang mengakomodasi akses streaming ke kumpulan data.

Akomodasi kumpulan data besar

HDFS mengakomodasi aplikasi yang menggunakan kumpulan data biasanya dari ukuran gigabyte hingga terabyte. HDFS menyediakan bandwidth data agregat tinggi dan dapat menskalakan hingga ratusan node dalam satu cluster dan membantu mendorong sistem komputasi kinerja tinggi (HPC). Data lake biasanya disimpan di HDFS. Gudang data juga telah menggunakan HDFS, tetapi sekarang lebih jarang, karena kompleksitas operasi yang dirasakan.

Efisiensi biaya

Karena data disimpan secara virtual, biaya untuk metadata sistem file dan penyimpanan data ruang nama sistem file dapat dikurangi.

Portabilitas

Untuk memfasilitasi adopsi, HDFS dirancang agar portabel di berbagai platform perangkat keras dan kompatibel dengan berbagai sistem operasi, termasuk Linux, macOS, dan Windows. Selain itu, danau data Hadoop mampu mendukung basis data yang tidak terstruktur, semi terstruktur, dan terstruktur, untuk fleksibilitas maksimum. Sementara Hadoop dikodekan dalam Java, bahasa lain, termasuk C++, Perl, Python, dan Ruby, memungkinkan penggunaannya dalam ilmu data.

Kecepatan pemrosesan

HDFS menggunakan arsitektur cluster untuk membantu memberikan throughput yang tinggi. Untuk mengurangi lalu lintas jaringan, sistem file Hadoop menyimpan data di DataNodes tempat perhitungan berlangsung, daripada memindahkan data ke lokasi lain untuk komputasi. 

Skalabilitas

Dengan fitur skalabilitas horizontal dan vertikal, HDFS dapat dengan cepat disesuaikan agar sesuai dengan kebutuhan data organisasi. Sebuah cluster mungkin mencakup ratusan atau ribuan node.

Arsitektur HDFS dan cara kerjanya

Arsitektur HDFS dan cara kerjanya

HDFS memiliki arsitektur direktur/pekerja.

  • Cluster HDFS mencakup satu NameNode, yang merupakan server direktur. NameNode melacak status semua file, izin file, dan lokasi setiap blok. Perangkat lunak NameNode mengelola namespace sistem file yang pada gilirannya melacak dan mengontrol akses klien ke file dan melakukan operasi seperti membuka, menutup, dan mengganti nama direktori dan file.

    Namespace sistem file juga membagi file menjadi blok dan memetakan blok ke DataNodes, yang merupakan bagian pekerja dari sistem. Dengan mengonfigurasi hanya dengan satu NameNode per klaster, arsitektur sistem menyederhanakan manajemen data dan penyimpanan metadata HDFS. Selain itu, keamanan yang lebih besar dibangun dengan menjaga data pengguna agar tidak mengalir melalui NameNode.

  • Umumnya, ada satu DataNode per node dalam sebuah cluster yang mengelola penyimpanan data di dalam node tersebut. Perangkat lunak DataNode mengelola pembuatan blok, penghapusan dan replikasi, ditambah permintaan baca dan tulis. Setiap DataNode secara terpisah menyimpan data HDFS dalam sistem file lokal dengan setiap blok sebagai file terpisah. DataNode adalah node pekerja (atau daemon Hadoop, yang menjalankan proses di latar belakang) dan dapat berjalan pada perangkat keras komoditas jika organisasi ingin menghemat.

Baik NameNode maupun DataNode adalah perangkat lunak yang ditulis untuk berjalan pada berbagai macam sistem operasi (OS), yang biasanya adalah OS GNU/Linux. Bahasa Java digunakan dalam membangun HDFS, yang berarti bahwa mesin apa pun yang mendukung Java juga dapat menggunakan perangkat lunak NameNode atau DataNode.

Penerapan sering kali memiliki satu mesin khusus yang menjalankan perangkat lunak NameNode. Kemudian, mesin lain di kluster menjalankan satu contoh perangkat lunak DataNode. Jika diperlukan, tetapi jarang digunakan, konfigurasi lebih dari satu DataNode pada satu mesin dimungkinkan.

Ketika data dibawa ke HDFS, itu dipecah menjadi blok dan didistribusikan ke node yang berbeda dalam sebuah cluster. Dengan data yang disimpan di beberapa DataNode, blok dapat direplikasi ke node lain untuk memungkinkan pemrosesan paralel. Sistem file terdistribusi (DFS) menyertakan perintah untuk mengakses, mengambil, memindahkan, dan melihat data dengan cepat. Dengan replika blok data di beberapa DataNode, satu salinan dapat dihapus tanpa risiko kerusakan file pada salinan lainnya. Ukuran blok HDFS default adalah 128 MB (Hadoop 2.x), yang oleh sebagian orang dianggap besar, tetapi ukuran blok dilakukan untuk meminimalkan waktu pencarian dan mengurangi metadata yang dibutuhkan.

Untuk meminimalkan risiko dan mempercepat pemrosesan, ketika sebuah DataNode berhenti memberi sinyal pada NameNode, DataNode tersebut akan dihapus dari klaster dan operasi akan dilanjutkan tanpa DataNode tersebut. Jika DataNode tersebut kemudian beroperasi, maka akan dialokasikan ke cluster baru.

HDFS menyediakan file akses data yang fleksibel melalui berbagai antarmuka: API Java asli disediakan dengan HDFS, sementara pembungkus bahasa C tersedia untuk API Java, ditambah browser HTTP dapat digunakan untuk menelusuri file instance HDFS. 

Namespace sistem file

HDFS diatur dengan hierarki file tradisional di mana pengguna dapat membuat direktori yang berisi banyak file. Hirarki ruang nama sistem file mirip dengan sistem file tradisional, di mana pengguna membuat dan menghapus file, memindahkannya di antara direktori, dan dapat mengganti nama file.

Namespace sistem file dikelola oleh NameNode, yang menyimpan catatan perubahan apa pun dalam namespace sistem file. Jumlah total replika yang akan disimpan untuk aplikasi apa pun dapat ditentukan di sini. Angka itu adalah faktor replikasi untuk file itu. Faktor replikasi dapat diatur saat file dibuat dan kemudian dimodifikasi sesuai kebutuhan.

Replikasi data

Untuk menyediakan penyimpanan yang andal, HDFS menyimpan file besar di beberapa lokasi dalam cluster besar, dengan setiap file dalam urutan blok. Setiap blok disimpan dalam file dengan ukuran yang sama, kecuali untuk blok terakhir, yang terisi saat data ditambahkan. 

Untuk perlindungan tambahan, file HDFS hanya dapat ditulis satu kali oleh satu penulis saja setiap saat. Untuk membantu memastikan bahwa semua data sedang direplikasi seperti yang diinstruksikan. NameNode menerima detak jantung (laporan status berkala) dan laporan blok (ID blok, stempel generasi, dan panjang setiap replika blok) dari setiap DataNode yang terpasang pada cluster. Menerima detak jantung menunjukkan bahwa DataNode bekerja dengan benar.

NameNode memilih ID rak untuk setiap DataNode dengan menggunakan proses yang disebut Hadoop Rack Awareness untuk membantu mencegah hilangnya data jika seluruh rak gagal. Ini juga memungkinkan penggunaan bandwidth dari beberapa rak saat membaca data.

Contoh HDFS dan contoh penggunaan

Contoh HDFS dan contoh penggunaan

Pertimbangkan sebuah file yang berisi nomor telepon untuk seluruh negara. Nomor untuk orang dengan nama keluarga yang dimulai dengan A mungkin disimpan di server 1, B di server 2 dan seterusnya. Dengan Hadoop, potongan-potongan direktori telepon ini akan disimpan dalam satu cluster, dan untuk merekonstruksi seluruh buku telepon, sebuah aplikasi akan membutuhkan blok-blok dari setiap server dalam cluster.

Untuk membantu memastikan ketersediaan yang tinggi jika dan ketika sebuah server gagal, HDFS mereplikasi bagian yang lebih kecil ini ke dua server lainnya secara default. (Redundansi ini dapat ditingkatkan atau dikurangi berdasarkan per file atau untuk seluruh lingkungan. Misalnya, cluster pengembangan Hadoop biasanya tidak memerlukan redundansi data apa pun.)

Redundansi ini juga memungkinkan cluster Hadoop untuk memecah pekerjaan menjadi potongan-potongan yang lebih kecil dan menjalankan pekerjaan tersebut di semua server di cluster untuk skalabilitas yang lebih baik. Terakhir, organisasi mendapatkan manfaat dari lokalitas data, yang sangat penting ketika bekerja dengan kumpulan data yang besar.

HDFS juga dapat mengaktifkan kecerdasan buatan (AI) dan machine learning (ML) melalui peningkatan skala yang efektif. Pertama, untuk menyimpan data dalam jumlah yang cukup besar yang diperlukan untuk melatih model ML, lalu mengakses kumpulan data yang sangat besar tersebut.

Setiap organisasi yang menangkap, menyimpan, dan menggunakan kumpulan data besar, hingga petabyte, dapat mempertimbangkan untuk menggunakan HDFS. Beberapa contoh penggunaan berbasis industri menunjukkan bagaimana HDFS dapat diimplementasikan.

  • Energi: Ketika menggunakan unit pengukuran phasor (PMU) untuk memantau kinerja smart grid di jaringan transmisi mereka, perusahaan listrik dapat mengumpulkan data dalam jumlah yang sangat besar, dengan ribuan catatan per detik. HDFS mungkin merupakan sistem file yang hemat biaya dan tersedia luas yang dapat mereka andalkan.

  • Kesehatan: Volume rekam medis terus bertambah setiap harinya. Peralatan medis dan data sensor pasien dapat dikumpulkan dan disimpan secara efisien untuk perawatan dan penelitian yang lebih responsif.

  • Pemasaran: Data dari sistem manajemen hubungan pelanggan (CRM), sistem titik penjualan (PoS), respons kampanye, dan media sosial, yang sebagian besar tidak terstruktur, perlu dikumpulkan untuk analisis dan memandu upaya pemasaran di masa mendatang. Klaster HDFS mungkin memberikan solusi hemat anggaran untuk menyimpan dan menganalisis sejumlah besar data yang dihasilkan.

  • Minyak dan gas: Cluster HDFS dapat membantu menyatukan semua data yang masuk dalam berbagai format agar tersedia untuk analisis big data. Hal ini dapat mencakup segala sesuatu mulai dari model bumi 3D hingga video, pembelian pelanggan atau data sensor peralatan.

  • Retail:  Untuk lebih memahami pelanggan mereka, retailer dapat mengumpulkan dan menganalisis data dari berbagai sumber. Ini termasuk catatan penjualan, interaksi layanan pelanggan, dan media sosial, baik data yang tidak terstruktur maupun yang terstruktur, untuk mengembangkan strategi keterlibatan baru.

  • Telekomunikasi:  HDFS dapat membantu bisnis telekomunikasi membangun jalur jaringan yang kuat, melakukan pemeliharaan prediktif, mengindikasikan opsi perluasan jaringan yang menjanjikan, dan menganalisis perilaku pelanggan.
Sejarah HDFS

Sejarah HDFS

Asal mula Hadoop, menurut salah satu pendirinya, Mike Cafarella dan Doug Cutting, adalah sebuah makalah Google File System, yang diterbitkan pada tahun 2003. Makalah kedua menyusul, “MapReduce: Simplified Data Processing on Large Clusters.” Pengembangan mesin pencari awal bernama Apache Nutch dimulai, tetapi kemudian pekerjaannya berpindah dengan Doug Cutting ke Yahoo pada tahun 2006.

Nama Hadoop diambil dari nama gajah mainan milik putra Cutting. (Yang menjelaskan logonya.) Kode awal Hadoop sebagian besar berdasarkan pada Nutch, tetapi mengatasi keterbatasan skalabilitasnya, dan berisi versi awal HDFS dan MapReduce.

Rangkaian program di Ekosistem Hadoop terus berkembang. Selain HDFS, ada juga:HBase (basis data NoSQL), Mahout, Spark MLLib (pustaka algoritma untuk machine learning), MapReduce (pemrosesan data berbasis pemrograman), Oozie (penjadwal pekerjaan), PIG, dan HIVE (layanan pemrosesan data berbasis kueri), Solar and Lucene (untuk pencarian dan pengindeksan), Spark (pemrosesan data, dalam memori), YARN (Yet Another Resource Negotiator), dan Zookeeper (koordinasi cluster).

Perangkat lunak sumber terbuka dalam Ekosistem Hadoop sekarang dikelola oleh Apache Software Foundation1, yaitu komunitas internasional untuk pengembang perangkat lunak dan kontributor perangkat lunak.

 

Solusi terkait

Solusi terkait

Penyimpanan data terbuka, hibrid, dan teratur

watsonx.data sekarang tersedia: penyimpanan data sesuai tujuan yang dibangun di atas arsitektur data lakehouse terbuka untuk menskalakan beban kerja AI, untuk semua data Anda, di mana saja.

Jelajahi watsonx.data
Mendorong analitik yang lebih baik dan lebih cepat dengan solusi big data dari IBM

IBM® dan Cloudera telah bermitra untuk menawarkan distribusi Hadoop kelas perusahaan yang terdepan di industri ini, termasuk ekosistem produk dan layanan terintegrasi untuk mendukung analitik yang lebih cepat dalam skala besar.

Jelajahi peluang big data dengan IBM
Sumber daya

Sumber daya

Trinitas platform data: Kompetitif atau saling melengkapi?

Setidaknya tiga solusi platform data yang berbeda muncul. Pelajari tentang hubungan antara data lakehouse, data fabric, dan data mesh.

Memahami big data di luar hingar bingarnya

Baca pengantar praktis ini untuk arsitektur data generasi berikutnya. Buku ini memperkenalkan peran teknologi cloud dan NoSQL serta membahas kepraktisan keamanan, privasi, dan tata kelola.

Apa itu Presto?

Presto memberi organisasi dari semua ukuran cara yang cepat dan efisien untuk menganalisis big data dari berbagai sumber termasuk sistem on premises dan cloud.

Ambil langkah selanjutnya

Skalakan beban kerja AI untuk semua data Anda di mana saja dengan IBM watsonx.data. Penyimpanan data yang disesuaikan untuk tujuan yang dibangun pada arsitektur terbuka data lakehouse.

Jelajahi watsonx.data Pesan demo langsung
Catatan kaki

1 Apache software foundation (tautan berada di luar ibm.com)