Isi kandungan:
Video: Hadoop Processing Frameworks 2024
Sistem Fail Hadoop yang Diagihkan adalah pendekatan yang serba boleh, berdaya tahan, berkumpulan untuk menguruskan fail dalam persekitaran data yang besar. HDFS bukan destinasi terakhir untuk fail. Sebaliknya, ia adalah perkhidmatan data yang menawarkan satu set keupayaan yang unik yang diperlukan apabila volum dan volum data tinggi. Kerana data ditulis sekali dan kemudian dibaca berkali-kali selepas itu, dan bukannya menulis-menulis sistem fail yang lain, HDFS adalah pilihan yang sangat baik untuk menyokong analisis data besar.
NameNodes data besar
HDFS berfungsi dengan memecahkan fail besar menjadi kepingan yang lebih kecil yang dipanggil blok . Blok disimpan pada nod data, dan adalah tanggungjawab NamaNode untuk mengetahui apa blok di mana nod data membentuk fail lengkap. NameNode juga bertindak sebagai "polis trafik," menguruskan semua akses ke fail.
Koleksi lengkap semua fail dalam kelompok kadang-kadang dirujuk sebagai ruang nama sistem . Ini adalah tugas NameNode untuk menguruskan ruang nama ini.
Walaupun hubungan yang kuat wujud antara NameNode dan nod data, mereka beroperasi dalam fesyen "longgar". Ini membolehkan elemen kluster bertindak secara dinamik, sambil menambah pelayan apabila peningkatan permintaan. Dalam konfigurasi tipikal, anda dapati satu NameNode dan mungkin nod data yang berjalan pada satu pelayan fizikal dalam rak. Pelayan lain menjalankan nod data sahaja.
Nod data berkomunikasi di antara mereka sendiri supaya mereka boleh bekerjasama semasa operasi sistem fail biasa. Ini adalah perlu kerana blok untuk satu fail mungkin disimpan pada pelbagai nod data. Oleh kerana NameNode sangat kritikal untuk operasi yang betul kluster, ia boleh dan harus direplikasi untuk menjaga kegagalan titik tunggal.
Nod data besar
Nod data tidak pintar, tetapi ia tahan lama. Dalam kluster HDFS, blok data direplikasi merentas pelbagai nod data dan akses dikendalikan oleh NameNode. Mekanisme replikasi direka untuk kecekapan yang optimum apabila semua nod kluster dikumpulkan ke dalam rak. Malah, NameNode menggunakan "ID rak" untuk menjejaki nod data dalam kumpulan.
Nod data juga menyediakan mesej "denyutan jantung" untuk mengesan dan memastikan sambungan antara NameNode dan nod data. Apabila denyutan jantung tidak lagi hadir, NameNode membuka simpul nod data dari kelompok dan terus beroperasi seolah-olah tiada apa yang berlaku. Apabila denyutan jantung kembali, ia ditambah kepada kluster secara telus dengan pengguna atau aplikasi.
Integriti data adalah ciri utama. HDFS menyokong beberapa keupayaan yang direka untuk menyediakan integriti data. Seperti yang anda jangkakan, apabila fail dipecah menjadi blok dan kemudian diedarkan ke seluruh pelayan yang berlainan dalam kelompok, sebarang perubahan dalam operasi mana-mana elemen boleh menjejaskan integriti data. HDFS menggunakan log transaksi dan pengesahan checksum untuk memastikan integriti merentasi kluster.
Log urus niaga menjejaki setiap operasi dan berkesan dalam mengaudit atau membina semula sistem fail sekiranya berlaku sesuatu yang tidak diingini.
Pengesahan checksum digunakan untuk menjamin kandungan fail dalam HDFS. Apabila klien meminta fail, ia boleh mengesahkan kandungan dengan memeriksa pemeriksaannya. Sekiranya checksum sepadan, operasi fail dapat diteruskan. Jika tidak, ralat dilaporkan. Fail checksum tersembunyi untuk membantu mengelakkan gangguan.
Nod data menggunakan cakera tempatan dalam pelayan komoditi untuk kegigihan. Semua blok data disimpan secara tempatan, terutamanya untuk sebab prestasi. Blok data direplikasi di beberapa nod data, jadi kegagalan satu pelayan tidak semestinya merosakkan fail. Tahap replikasi, bilangan nod data, dan ruang nama HDFS ditubuhkan apabila kluster dilaksanakan.
HDFS untuk data besar
HDFS menangani cabaran data besar dengan memecah fail ke dalam koleksi berkaitan blok yang lebih kecil. Blok ini diedarkan di antara nod data dalam kelompok HDFS dan diuruskan oleh NameNode. Saiz blok boleh dikonfigurasikan dan biasanya 128 megabait (MB) atau 256MB, bermakna fail 1GB menggunakan lapan blok 128MB untuk keperluan storan asasnya.
HDFS adalah berdaya tahan, jadi blok ini direplikasi di seluruh kluster sekiranya kegagalan pelayan. Bagaimana HDFS menjejaki semua kepingan ini? Jawapan ringkas ialah sistem fail metadata .
Metadata ditakrifkan sebagai "data mengenai data. "Fikirkan metadata HDFS sebagai templat untuk memberikan keterangan terperinci mengenai perkara berikut:
-
Apabila fail dicipta, diakses, diubahsuai, dipadam, dan sebagainya
-
Di mana blok fail disimpan dalam kelompok < Siapa yang mempunyai hak untuk melihat atau mengubah suai fail
-
Berapa banyak fail yang disimpan pada kluster
-
Berapa banyak nod data wujud dalam kumpulan
-
Lokasi log transaksi untuk cluster
-
HDFS metadata disimpan di NameNode, dan sementara kluster beroperasi, semua metadata dimuatkan ke memori fizikal pelayan NameNode. Seperti yang anda jangkakan, semakin besar kumpulan, semakin besar jejak metadata.
Apa sebenarnya pelayan blok lakukan? Semak senarai berikut:
Menyimpan blok data dalam sistem fail tempatan pelayan. HDFS boleh didapati di banyak sistem operasi yang berlainan dan berkelakuan sama sama ada di Windows, Mac OS, atau Linux.
-
Menyimpan metadata blok dalam sistem fail setempat berdasarkan template metadata dalam NameNode.
-
Melakukan pengesahan berkala pemeriksaan fail.
-
Menghantar laporan tetap ke NameNode tentang blok apa yang tersedia untuk operasi fail.
-
Menyediakan metadata dan data kepada pelanggan apabila diminta. HDFS menyokong akses terus ke nod data dari program aplikasi klien.
-
Teruskan data ke nod data lain berdasarkan model "pipelining".
-
Blok penempatan pada nod data adalah penting untuk replikasi data dan sokongan untuk pipelining data. HDFS menyimpan satu replika setiap blok secara tempatan. HDFS serius mengenai replikasi data dan ketahanan.