Tiga komponen teras HADOOP ialah HDFS, MapReduce dan YARN. Pengenalan terperinci: 1. HDFS: Sistem fail teragih, digunakan untuk menyimpan sejumlah besar data dalam kelompok Hadoop. Ia mempunyai toleransi kesalahan yang tinggi, boleh menyimpan data merentasi berbilang nod data, dan menyediakan akses data pemprosesan tinggi 2. MapReduce: digunakan untuk pemprosesan selari set data berskala besar; Ia menguraikan tugas data besar kepada beberapa tugas kecil, memprosesnya secara selari pada berbilang nod, dan akhirnya meringkaskan keputusan 3. BENANG: Bertanggungjawab untuk peruntukan dan pengurusan sumber kluster.
Tiga komponen teras Hadoop ialah HDFS (storan fail teragih), MapReduce (pengkomputeran teragih) dan YARN (penjadualan sumber).
1. HDFS: Sistem Fail Teragih HADOOP
HDFS (Sistem Fail Teragih Hadoop) ialah sub-projek teras projek Hadoop Ia bertanggungjawab terutamanya untuk penyimpanan dan pembacaan data kluster. slave (Master/Slave) ) seni bina untuk sistem fail yang diedarkan. HDFS menyokong struktur organisasi fail hierarki tradisional, di mana pengguna atau aplikasi boleh membuat direktori dan kemudian menyimpan fail dalam direktori ini. Struktur hierarki ruang nama sistem fail adalah serupa dengan kebanyakan sistem fail sedia ada, dan fail boleh dibuat, dibaca, dikemas kini dan dipadam melalui laluan fail. Walau bagaimanapun, disebabkan sifat storan teragih, ia jelas berbeza daripada sistem fail tradisional.
Kelebihan HDFS:
- Toleransi kesalahan yang tinggi. Data yang dimuat naik oleh HDFS secara automatik menyimpan berbilang salinan, dan toleransi kesalahannya boleh ditingkatkan dengan menambahkan data dalam salinan. Jika replika hilang, HDFS akan meniru replika pada mesin lain dan kami tidak perlu risau tentang pelaksanaannya.
- Sesuai untuk pemprosesan data besar. HDFS mampu mengendalikan gigabait, terabait, dan juga petabait data, bersaiz berjuta-juta, yang sangat besar. (1PB=1024TB, 1TB=1014GB)
- Menstrim akses data. HDFS menggunakan model akses data penstriman untuk menyimpan fail yang sangat besar, menulis sekali dan membaca berkali-kali Iaitu, apabila fail ditulis, ia tidak boleh diubah suai, tetapi hanya boleh ditambah. Ini mengekalkan ketekalan data.
2. MapReduce: Pemprosesan data berskala besar
MapReduce ialah rangka kerja pengkomputeran teras Hadoop Ia adalah model pengaturcaraan yang sesuai untuk operasi selari set data berskala besar (lebih daripada 1TB), termasuk Map (pemetaan. ) dan Kurangkan (pengurangan).
Apabila tugasan MapReduce dimulakan, bahagian Map akan membaca data pada HDFS, memetakan data ke dalam jenis pasangan nilai kunci yang diperlukan dan memindahkannya ke bahagian Reduce. Bahagian Kurangkan menerima data jenis pasangan nilai kunci yang dihantar dari bahagian Peta, mengumpulkannya mengikut kekunci yang berbeza, memproses setiap kumpulan data dengan kunci yang sama, memperoleh pasangan nilai kunci baharu dan mengeluarkannya kepada HDFS Ini adalah teras idea MapReduce.
Proses MapReduce yang lengkap termasuk input dan sharding data, Pemprosesan data peringkat Peta, Pengurangan pemprosesan data peringkat, output data dan peringkat lain:
- Baca data input. Data dalam proses MapReduce dibaca daripada sistem fail teragih HDFS. Apabila fail dimuat naik ke HDFS, ia biasanya dibahagikan kepada beberapa blok data mengikut 128MB, jadi apabila menjalankan program MapReduce, setiap blok data akan menjana Peta, tetapi anda juga boleh melaraskan bilangan Peta dengan menetapkan semula saiz serpihan fail . Apabila menjalankan MapReduce, fail akan dipecah semula (Split) mengikut saiz pemisahan yang ditetapkan, dan blok data saiz pemisahan akan sepadan dengan Peta.
- Pentas peta. Program ini mempunyai satu atau lebih Peta, ditentukan oleh bilangan lalai storan atau serpihan. Untuk peringkat Peta, data dibaca dalam bentuk pasangan nilai kunci Nilai kekunci biasanya adalah pengimbangan antara aksara pertama setiap baris dan kedudukan awal fail, iaitu bilangan aksara di antara. , dan nilainya ialah rekod data baris ini. Proses pasangan nilai kunci mengikut keperluan, petakannya menjadi pasangan nilai kunci baharu dan hantar pasangan nilai kunci baharu ke bahagian Kurangkan.
- Fasa Kocok/Isih: Fasa ini merujuk kepada proses bermula daripada output Peta dan memindahkan output Peta kepada Kurangkan sebagai input. Proses ini mula-mula akan menyepadukan data output dengan kunci yang sama dalam Peta yang sama untuk mengurangkan jumlah data yang dihantar, dan kemudian mengisih data mengikut kunci selepas penyepaduan.
- Peringkat Kurangkan: Terdapat juga beberapa tugasan Reduce, yang ditentukan mengikut set partition data dalam peringkat Map Satu data partition diproses oleh satu Reduce. Untuk setiap tugasan Reduce, Reduce akan menerima data daripada tugasan Map yang berbeza dan data daripada setiap Map adalah teratur. Setiap pemprosesan dalam tugas Reduce adalah untuk mengurangkan data untuk semua data dengan kunci yang sama dan mengeluarkannya kepada HDFS sebagai pasangan nilai kunci baharu.
3 Benang: Pengurus Sumber
Seni bina MapReduce Hadoop dipanggil YARN (Yet Another Resource Negotiator, satu lagi penyelaras sumber), yang merupakan teras pengurusan sumber yang lebih cekap.
YARN terutamanya merangkumi tiga modul utama: Pengurus Sumber (RM), Pengurus Nod (NM) dan Induk Aplikasi (AM):
- Pengurus Sumber bertanggungjawab untuk pemantauan, peruntukan dan pengurusan semua sumber
- Induk Aplikasi bertanggungjawab untuk setiap Penjadualan dan penyelarasan aplikasi tertentu;
- Pengurus Nod bertanggungjawab untuk penyelenggaraan setiap nod.
Atas ialah kandungan terperinci Apakah tiga komponen teras HADOOP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!