Apa Itu Arsitektur Benang Hadoop & Komponennya
Diterbitkan: 2020-02-10Daftar isi
Pengenalan BENANG Hadoop
BENANG adalah komponen utama Hadoop v2.0. YARN membantu membuka Hadoop dengan memungkinkan untuk memproses dan menjalankan data untuk pemrosesan batch, pemrosesan aliran, pemrosesan interaktif, dan pemrosesan grafik yang disimpan dalam HDFS. Dengan cara ini, Ini membantu untuk menjalankan berbagai jenis aplikasi terdistribusi selain MapReduce.
Dalam arsitektur YARN, lapisan pemrosesan dipisahkan dari lapisan manajemen sumber daya. Untuk membuat pemisahan antara manajer aplikasi dan manajer sumber daya adalah tanggung jawab pelacak pekerjaan di versi Hadoop 1.0. YARN memungkinkan data yang disimpan dalam HDFS (Hadoop Distributed File System) untuk diproses dan dijalankan oleh berbagai mesin pengolah data seperti pemrosesan batch, pemrosesan aliran, pemrosesan interaktif, pemrosesan grafik, dan banyak lagi. Dengan demikian efisiensi sistem meningkat dengan penggunaan YARN. Pemrosesan aplikasi dijadwalkan dalam YARN melalui berbagai komponennya. Berbagai jenis sumber daya juga secara bertahap dialokasikan untuk pemanfaatan yang optimal. YARN banyak membantu dalam penggunaan yang tepat dari sumber daya yang tersedia, yang sangat diperlukan untuk pemrosesan volume data yang tinggi.
Mengapa BENANG?
MapReduce melakukan fungsi Manajemen dan Pemrosesan Sumber Daya. Hadoop v1.0 juga dikenal sebagai MapReduce Versi 1 (MRV1). Hanya ada satu master untuk Job Tracker.
Anda tidak akan percaya bagaimana Program ini Mengubah Karir SiswaPada Hadoop versi sebelumnya yaitu Hadoop versi 1.0, yang juga dikenal sebagai MapReduce versi 1 (MRV1) digunakan untuk melakukan tugas proses dan manajemen sumber daya dengan sendirinya. Ini memiliki modul pelacak pekerjaan yang bertanggung jawab untuk semuanya. Oleh karena itu master tunggal yang mengalokasikan sumber daya untuk aplikasi, melakukan penjadwalan permintaan dan juga memantau pekerjaan pemrosesan dalam sistem. Hadoop versi 1.0 mengurangi tugas & memberikan peta pada beberapa sub-proses yang disebut Pelacak Tugas. Task Tracker juga melaporkan kemajuan proses secara berkala. Tapi masalah utamanya bukan itu, masalahnya adalah desain master tunggal untuk semua ini, yang mengakibatkan masalah kemacetan. Juga, pemanfaatan sumber daya komputasi tidak efisien. Jadi skalabilitas menjadi masalah dengan versi Hadoop ini. Namun sisi baiknya, masalah ini diselesaikan oleh YARN, komponen inti penting dalam penerusnya Hadoop versi 2.0 yang diperkenalkan pada tahun 2012 oleh Yahoo dan Hortonworks. Ide dasar di balik bantuan ini adalah memisahkan MapReduce dari Manajemen Sumber Daya dan penjadwalan Pekerjaan, bukan master tunggal. Dengan demikian, YARN sekarang bertanggung jawab untuk penjadwalan Pekerjaan dan Manajemen Sumber Daya.
Di Hadoop 2.0, Konsep Master Aplikasi dan Manajer Sumber Daya diperkenalkan oleh YARN. Di seluruh cluster Hadoop, pemanfaatan sumber daya dipantau oleh Manajer Sumber Daya.
Ada beberapa fitur YARN yang membuatnya sangat terkenal, yaitu:

- Multi-tenancy: YARN telah memungkinkan akses ke beberapa mesin pemrosesan data seperti mesin pemrosesan batch, mesin pemrosesan aliran, mesin pemrosesan interaktif, mesin pemrosesan grafik, dan banyak lagi. Ini telah memberikan manfaat multi-tenancy bagi perusahaan.
- Pemanfaatan Cluster: Cluster digunakan secara optimal karena cluster digunakan secara dinamis di Hadoop dengan bantuan YARN.
- Kompatibilitas : YARN juga kompatibel dengan Hadoop versi pertama, yaitu Hadoop 1.0, karena menggunakan aplikasi pengurang peta yang ada. Jadi BENANG juga dapat digunakan dengan Hadoop 1.0.
- Skalabilitas : Ribuan cluster dan node diizinkan oleh scheduler di Resource Manager YARN untuk dikelola dan diperluas oleh Hadoop.
Komponen BENANG
- Wadah:
Di Wadah, seseorang dapat menemukan sumber daya fisik seperti disk pada satu node, inti CPU, RAM. Container Launch Context (CLC) digunakan untuk memanggil container. Data tentang dependensi, token keamanan, variabel lingkungan yang disimpan sebagai catatan yang dikenal sebagai Container Launch Context (CLC).
- Pada host tertentu, aplikasi hanya dapat menggunakan memori tertentu dari CPU dan Memori. Jumlah memori yang ditentukan ini hanya dapat digunakan setelah izin diberikan oleh Container.
- Konteks Peluncuran Kontainer digunakan untuk mengelola Kontainer BENANG. Ini juga disebut Container LifeCycle (CLC). Perintah yang diperlukan untuk pembuatan proses disimpan dalam catatan ini. Ini juga menyimpan muatan untuk layanan Node Manager, token keamanan, dependensi, peta variabel lingkungan.
- Guru Aplikasi:
Dalam kerangka kerja, ketika satu pekerjaan diajukan, itu disebut aplikasi. Pemantauan kemajuan aplikasi, pelacakan status aplikasi, negosiasi sumber daya dengan manajer sumber daya adalah tanggung jawab manajer aplikasi. Semua kebutuhan aplikasi untuk dijalankan dilakukan dengan mengirimkan Container Launch Context (CLC). Master aplikasi memposting Container Launch Context (CLC) dengan meminta Container dari node manager. Dari waktu ke waktu, manajer sumber daya menerima laporan kesehatan setelah aplikasi dimulai.

- Manajer Node:
Manajer node menangani node individu di cluster Hadoop dan juga mengelola wadah yang terkait dengan setiap node tertentu. Itu terdaftar di Resource Manager dan mengirimkan status kesehatan setiap node ke Resource Manager, yang menyatakan jika proses node telah selesai bekerja dengan sumber daya. Karena tujuan utamanya adalah untuk mengelola setiap wadah node tertentu yang ditetapkan oleh manajer sumber daya. Manajer node juga membuat proses kontainer saat diminta oleh master Aplikasi. Ketika master aplikasi mengirim dan meminta Kontainer terlampir dari manajer simpul oleh CLC (Konteks Peluncuran Kontainer) yang mencakup semua yang perlu dijalankan oleh aplikasi. Kemudian manajer simpul membuat wadah proses yang diminta dan menjalankannya. Manajer node juga bertanggung jawab untuk memantau penggunaan sumber daya oleh masing-masing Kontainer dan melaporkannya ke manajer Sumber Daya. Jadi manajer node dan manajer sumber daya berkolaborasi untuk berkomunikasi antar node dan mengelola penggunaan sumber daya oleh setiap node dalam cluster. Itu juga dapat mematikan kontainer jika diarahkan oleh manajer Sumber Daya. Akhirnya, manajer simpul mencatat semuanya dengan sistem manajemen log di dalamnya.
Node tertentu diurus oleh Node Manager. Node Manager mengelola alur kerja dan aplikasi dari node. Manajemen log dilakukan, dan Node Manager memantau penggunaan sumber daya. Manajer sumber daya memberikan arahan untuk mematikan wadah ke Manajer Node. Master aplikasi meminta manajer Node untuk memulai proses container. Pembuatan proses container adalah tanggung jawab Node Manager.
- Manajer Sumber Daya:
Manajemen sumber daya dan penetapan semua aplikasi adalah tanggung jawab Manajer Sumber Daya dan merupakan daemon utama YARN. Permintaan yang diterima oleh pengelola sumber daya diteruskan ke pengelola simpul terkait. Menurut aplikasi, sumber daya dialokasikan oleh manajer sumber daya untuk diselesaikan.
- Pemanfaatan Cluster dioptimalkan, seperti menjaga penggunaan semua sumber daya aktif terhadap berbagai jenis keterbatasan seperti SLA, keadilan dan jaminan kapasitas.
- Resource Manager melakukan alokasi sumber daya yang tersedia.
- Resource Manager menengahi sumber daya cluster.
- Pemrosesan permintaan yang sebenarnya terjadi di node, dan manajer node mengelolanya. Setiap kali permintaan pemrosesan diterima, permintaan tersebut akan ditransfer sebagian ke manajer node yang sesuai.
- Resource Manager adalah otoritas tertinggi untuk alokasi sumber daya.
Ada dua komponen utama dari Resource Manager, yaitu: –

- Manajer Aplikasi –
Manajer aplikasi bertanggung jawab untuk mengelola serangkaian tugas atau aplikasi yang dikirimkan. Ini pertama-tama memverifikasi dan memvalidasi spesifikasi aplikasi yang diajukan dan dapat menolak aplikasi jika tidak ada cukup sumber daya yang tersedia. Ini juga memastikan tidak ada aplikasi lain dengan ID yang sama yang telah dikirimkan yang dapat disebabkan oleh klien yang salah atau jahat. Kemudian meneruskan aplikasi yang diajukan setelah validasi ke penjadwal. Terakhir, ia juga mengamati status aplikasi dan mengelola aplikasi yang telah selesai untuk menghemat beberapa memori Resource Manager. Manajer aplikasi menyimpan cache aplikasi yang sudah selesai dan memindahkan aplikasi lama yang sudah selesai untuk mengakomodasi ruang bagi aplikasi yang baru dikirimkan.
- Penjadwal –
Berdasarkan Ketersediaan Sumber Daya dan Alokasi Aplikasi, Penjadwal menjadwalkan tugas. Tidak ada tugas lain yang dilakukan oleh penjadwal seperti tidak memulai kembali pekerjaan setelah gagal, melacak atau memantau tugas. Jenis plugin penjadwal yang berbeda adalah Penjadwal Adil dan Penjadwal Kapasitas, yang didukung oleh penjadwal YARN untuk partisi sumber daya cluster.
Langkah-langkah Alur Kerja Aplikasi di Hadoop YARN
Aplikasi diajukan oleh klien.
- Application Manager dimulai dengan alokasi Container oleh Resource Manager.
- Resource Manager dan Application Manager saling mendaftar.
- Manajer Aplikasi melakukan negosiasi Kontainer ke Manajer Sumber Daya.
- Manajer Node meluncurkan Kontainer setelah diberitahu oleh Manajer Aplikasi.
- Eksekusi kode Aplikasi dilakukan di Container.
- Manajer Aplikasi atau Manajer Sumber Daya memantau status aplikasi setelah dihubungi oleh klien.
- Un-Registrasi Application Manager dilakukan dengan Resource Manager setelah proses selesai.
Membungkus
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.