Video: hadoop yarn architecture 2024
MapReduce pemprosesan dalam Hadoop 1 dikendalikan oleh daemon JobTracker dan TaskTracker. JobTracker mengekalkan pandangan semua sumber pemprosesan yang ada dalam cluster Hadoop dan, sebagai permintaan permohonan masuk, ia dijadualkan dan menyebarkannya ke nod TaskTracker untuk pelaksanaan.
Apabila aplikasi berjalan, JobTracker menerima kemas kini status dari nod TaskTracker untuk menjejaki kemajuan mereka dan, jika perlu, menyelaraskan pengendalian sebarang kegagalan. JobTracker perlu dijalankan pada nod master dalam cluster Hadoop kerana ia menyelaraskan pelaksanaan semua aplikasi MapReduce dalam cluster, jadi itu adalah perkhidmatan kritikal misi.
Contoh daemon TaskTracker berjalan pada setiap nod budak dalam cluster Hadoop, yang bermaksud setiap node hamba mempunyai perkhidmatan yang mengikatnya ke pemprosesan (TaskTracker) dan penyimpanan (DataNode), yang membolehkan Hadoop menjadi sistem yang diedarkan.
Sebagai proses hamba, TaskTracker menerima permintaan pemprosesan dari JobTracker. Tanggungjawab utamanya adalah untuk mengesan pelaksanaan beban kerja MapReduce yang terjadi secara tempatan pada nod hamba dan menghantar kemas kini status ke JobTracker.
TaskTrackers menguruskan sumber pemprosesan pada setiap nod hamba dalam bentuk slot pemprosesan - slot yang ditakrifkan untuk tugas peta dan mengurangkan tugas, tepat. Jumlah peta dan mengurangkan slot menunjukkan berapa banyak peta dan mengurangkan tugas boleh dilaksanakan pada satu masa pada nod hamba.
Apabila ia datang untuk menala kluster Hadoop, menetapkan bilangan peta yang optimum dan mengurangkan slot adalah kritikal. Bilangan slot perlu dikonfigurasi dengan teliti berdasarkan memori, cakera, dan sumber CPU yang tersedia pada setiap nod hamba. Memori adalah yang paling kritikal terhadap ketiga-tiga sumber dari perspektif prestasi. Oleh itu, jumlah slot tugas perlu diseimbangkan dengan jumlah maksimum memori yang diperuntukkan kepada saiz timbunan Java.
Perlu diingat bahawa setiap peta dan mengurangkan tugas menghasilkan mesin maya Java (JVM) sendiri dan bahawa timbunan itu mewakili jumlah memori yang diperuntukkan bagi setiap JVM. Nisbah slot peta untuk mengurangkan slot juga merupakan pertimbangan yang penting.
Sebagai contoh, jika anda mempunyai terlalu banyak slot peta dan tidak mencukupi slot untuk beban kerja anda, slot peta akan cenderung untuk duduk diam, sementara pekerjaan anda sedang menunggu untuk mengurangkan slot menjadi tersedia.
Set slot khusus ditakrifkan untuk tugas peta dan mengurangkan tugas kerana mereka menggunakan sumber pengkomputeran agak berbeza.Tugas peta ditugaskan berdasarkan lokasi data, dan mereka sangat bergantung pada disk I / O dan CPU. Mengurangkan tugas diberikan berdasarkan ketersediaan, bukan pada lokasi, dan mereka sangat bergantung pada lebar jalur rangkaian kerana mereka perlu menerima output dari tugas peta.