Big data tahlili
Download 1.27 Mb.
|
A.X.Ruzmetov Qollanma
- Bu sahifa navigatsiya:
- Ma’lumot tugunlari
- Yashirin HDFS
- Hadoop Mapreduce
NameNodes
HDFS katta fayllarni bloklar deb nomlangan kichik qismlarga ajratadi. Bloklar ma’lumotlar tugunlarida saqlanadi va NameNode qaysi blok tugunlari to‘liq faylni tashkil etishini bilishga mas’uldir. NameNode shuningdek trafik politsiyasi vazifasini bajaradi, barcha fayllarga kirishni boshqaradi, shu jumladan ma’lumotlar tugunlari bo‘ylab ma’lumotlarni bloklarini o‘qish, yozish, yaratish, yo‘q qilish va ko‘paytirish. Klasterdagi barcha fayllarning to‘liq to‘plami ba’zan fayl tizimi nomlari maydoni deb ataladi. NameNode-ning vazifasi ushbu nomlar maydonini boshqarishdir. NameNode va ma’lumotlar tugunlari o‘rtasida kuchli bog‘lanish mavjud bo‘lsada, ular “erkin bog‘langan” usulda ishlaydi. Bu klaster a‘zolarining dinamik harakat qilishiga imkon beradi, yoki talab ortishi (yoki kamayishi) bilan serverlarni qo‘shib (yoki olib tashlaydi). Oddiy konfiguratsiyada bitta NameNode va ehtimol bitta javonda bitta fizik serverda ishlaydigan ma’lumotlar tugunini topasiz. Boshqa serverlarda faqat ma’lumotlar tugunlari ishlaydi. Ma’lumot tugunlari unchalik aqlli emas, lekin NameNode bunday emas. Ma’lumot tugunlari doimiy ravishda NameNode-dan nima qilishlarini so‘rashadi. Ushbu doimiy xatti-harakatlar, shuningdek, NameNodega qanday ma’lumot tugunlari va ular bilan bandligini ham aytib beradi. Ma’lumotlar tugunlari, shuningdek, fayl tizimining normal ishlashi paytida aloqa qilishlari uchun bir-birlari bilan ma’lumotlar almashadilar. Bu juda zarur, chunki bitta fayl uchun bloklar bir nechta ma’lumotlar tugunlarida saqlanishi mumkin. NameNode klasterning to‘g‘ri ishlashi uchun juda muhim bo‘lganligi sababli, uni bitta nuqta buzilishidan himoya qilish uchun takrorlash mumkin va kerak. Ma’lumot tugunlari Ma’lumot tugunlari aqlli emas, ammo ular bardoshlidir. HDFS klasterida qismlar bir nechta ma’lumotlar tugunlari bo‘ylab takrorlanadi va kirish NameNode tomonidan boshqariladi. Takrorlash mexanizmi klasterdagi barcha tugunlar tokchaga o‘rnatilganda optimal samaradorlik uchun mo‘ljallangan. Aslida, NameNode klasterdagi ma’lumotlar tugunlarini kuzatib borish uchun “rack ID” dan foydalanadi. HDFS klasterlari ba’zida “ustunga o‘rnatiladigan” klasterlar deb ataladi. Ma’lumot tugunlari, shuningdek, NameNode va ma’lumotlar tugunlari o‘rtasidagi aloqani topish va saqlash uchun “yurak urishi” xabarlarini beradi. Yurak urishi tugagandan so‘ng, NameNode klasterdagi ma’lumotlar tugunining xaritasini o‘chiradi va hech narsa bo‘lmaganday davom etadi. Yurak urishi qaytgach (yoki yangi yurak urishi paydo bo‘lganda), u foydalanuvchiga yoki dasturga shaffof ravishda klasterga qo‘shiladi. Barcha fayl tizimlarida bo‘lgani kabi, ma’lumotlar yaxlitligi ham muhimdir. HDFS ma’lumotlar yaxlitligini bir qator xususiyatlarini qo‘llab-quvvatlaydi. Kutganingizdek, fayllar qismlarga bo‘linib, so‘ngra klasterdagi turli xil serverlarga tarqatilganda, har qanday elementning xatti-harakatlaridagi har qanday o‘zgarish ma’lumotlar butunligiga ta’sir qilishi mumkin. Klaster bo‘yicha izchillikni ta’minlash uchun HDFS tranzaksiyalar jurnallaridan va summani tekshirishdan foydalanadi. Tranzaksiyalar jurnallari fayl tizimlari va ma’lumotlar bazalarini loyihalashda juda keng tarqalgan amaliyotdir. Ular har bir jarayonni kuzatib boradilar va kutilmagan holatlar yuz berganda auditorlik tekshiruvi yoki fayl tizimini tiklashda samarali bo‘ladi. Nazorat summasini tekshirish HDFSdagi fayllar tarkibini ta’minlash uchun ishlatiladi. Mijoz faylni so‘raganda, uning summasini nazorat qilish orqali tarkibni tekshirishi mumkin. Agar nazorat summasi mos keladigan bo‘lsa, fayl ishi davom etishi mumkin. Aks holda, xato xabari ko‘rsatiladi. Nazorat summasi fayllari buzilmaslik uchun yashiringan. Ma’lumot tugunlari saqlash uchun oddiy serverda mahalliy disklardan foydalanadi. Barcha ma’lumotlar bloklari birinchi navbatda ishlash sabablari bilan mahalliy sifatida saqlanadi. Ma’lumot bloklari bir nechta ma’lumotlar tugunlari bo‘ylab takrorlanadi, shuning uchun bitta server ishlamay qolishi fayl buzilishiga olib kelishi mumkin emas. Takrorlash darajasi, ma’lumotlar tugunlari soni va HDFS nomlari maydoni klaster joylashtirilganda o‘rnatiladi. HDFS dinamik bo‘lgani uchun, barcha parametrlarni klaster ishlayotganda sozlash mumkin. Yashirin HDFS Katta ma’lumotlar hajmi, tezligi va xilma-xilligi jihatidan muhim muammolarni keltirib chiqaradi. Oldingi bo‘limlarda muhokama qilinganidek, HDFS ushbu muammolarni fayllarni izchil kichik qismlarga ajratish orqali hal qiladi. Ushbu bloklar HDFS klasteridagi ma’lumotlar tugunlariga ajratilgan va NameNode tomonidan boshqariladi. Blokning o‘lchamlari moslashtiriladi va odatda 128 megabayt (MB) yoki 256 MB ni tashkil qiladi, ya’ni 1 GB hajmdagi fayl asosiy saqlash ehtiyojlari uchun sakkiz 128 MB blok oladi. HDFS xatolarga bardoshli, shuning uchun server ishlamay qolganda ushbu bloklar butun klasterda takrorlanadi. Qanday qilib HDFS ushbu elementlarning barchasini kuzatib boradi? Qisqa javob - bu fayl tizimining metama’lumotlari. Metama’lumot “ma’lumotlar haqidagi ma’lumotlar” deb ta’riflanadi. Dasturiy ta’minot ishlab chiqaruvchilari o‘nlab yillar davomida ma’lumotlar lug’ati, metama’lumotlar katalogi va yaqinda teglar kabi turli xil nomlar ostida foydalanib kelmoqdalar. HDFS metama’lumotlarini quyidagilarning batafsil tavsiflarini taqdim etish uchun shablon sifatida tasavvur qiling: Fayl yaratilganda, unga kirish, o‘zgartirish, o‘chirish va h.k.; Fayl bloklari klasterda saqlanadigan joy; Faylni ko‘rish yoki o‘zgartirish huquqiga kim ega; Klasterda qancha fayl saqlanadi; Klasterda qancha ma’lumot tugunlari mavjud; Klaster uchun tranzaktsiyalar jurnalining joylashuvi. HDFS metama’lumotlari NameNode-da saqlanadi va klaster ishlayotganda, barcha metama’lumotlar NameNode serverining fizik xotirasiga yuklanadi. Kutganingizdek, klaster qanchalik katta bo‘lsa, metama’lumotlar miqdori shunchalik katta bo‘ladi. Samarali ishlash uchun NameNode serveri juda ko‘p fizik xotiraga va eng yaxshi holatda qattiq disklarga ega bo‘lishi kerak. Ishlash nuqtai nazaridan ko‘proq narsa yaxshiroqdir. Ushbu bobda ilgari muhokama qilganimizdek, ma’lumotlar tugunlari juda soddalashtirilgan. Bu ma’lum bir fayllar to‘plami uchun bloklarni o‘z ichiga olgan serverlar. Ma’lumot tugunlarini “blokirovka qiluvchi serverlar” deb hisoblash mantiqan to‘g‘ri keladi, chunki bu ularning asosiy vazifasi. Blok-server aniq nima qiladi? Quyidagi ro‘yxatni tekshiring: Serverning mahalliy fayl tizimida ma’lumotlar bloklarini saqlaydi (va oladi). HDFS turli xil operatsion tizimlarda mavjud va Windows, Mac OS yoki Linux ostida bir xil ishlaydi. NameNode-dagi metama’lumot shabloniga asoslanib mahalliy fayl tizimidagi metama’lumotlarni bloklaydi. Fayllarni davriy tekshiruv summasini bajaradi. NameNode-ga muntazam ravishda hisobotlarni yuboradi, unda fayllar bilan ishlash uchun bloklar mavjud. Mijozlarga metama’lumotlar va talab bo‘yicha ma’lumotlar taqdim etadi. HDFS mijoz dasturlaridan ma’lumotlar tugunlariga to‘g‘ridan-to‘g‘ri kirishni qo‘llab-quvvatlaydi. Quvurli model asosida ma’lumotlarni boshqa ma’lumotlar tugunlariga yo‘naltiradi. Ma’lumotlar tugunlariga bloklarni joylashtirish ma’lumotlarni takrorlash va ma’lumotlar quvurlarini qo‘llab-quvvatlash uchun juda muhimdir. HDFS har bir blokning bitta nusxasini mahalliy darajada saqlaydi. Keyin u ikkinchi nusxani boshqa tokchaga joylashtiradi, tokchaning to‘liq ishlamay qolishidan himoya qiladi. Shuningdek, u uchinchi nusxani bir xil masofadagi tokchaga yuboradi, lekin javondagi boshqa serverga. Nihoyat, u mahalliy yoki uzoq klasterlardagi tasodifiy joylarga qo‘shimcha nusxalarini yuborishi mumkin. HDFS ma’lumotlar takrorlash va xatolarga bardoshliligini jiddiy qabul qiladi. Yaxshiyamki, mijoz dasturlari barcha bloklar qayerda joylashganligi haqida tashvishlanishga hojat yo‘q. Aslida, mijozlar maksimal ishlashni ta’minlash uchun eng yaqin nusxaga yo‘naltiriladi. HDFS ma’lumotlar quvurlarini yaratish qobiliyatini qo‘llab-quvvatlaydi. Quvur liniyasi - bu serverlar o‘rtasida ma’lumotlarning harakatlanishini qo‘llab-quvvatlash uchun mavjud bo‘lgan bir nechta ma’lumotlar tugunlari orasidagi aloqa. Mijoz dasturi quvur liniyasidagi birinchi ma’lumot tuguniga blok yozadi. Ma’lumotlar tuguni ma’lumotni quvur liniyasining keyingi tuguniga oladi va yo‘naltiradi; bu barcha ma’lumotlar va barcha nusxalar diskka yozilguncha davom etadi. Bu vaqtda mijoz faylga keyingi blokni yozish orqali jarayonni takrorlaydi. Ushbu bobda ko‘rib turganingizdek, bu Hadoop MapReduce uchun muhim xususiyatdir. Ushbu barcha fayllar, bloklar va serverlar bilan hamma narsa qanday qilib muvozanatda saqlanayotganiga hayron bo‘lishingiz mumkin. Hech qanday aralashuvsiz bitta ma’lumot tuguni haddan tashqari ko‘p yuklanishi mumkin, boshqasi esa deyarli bo‘sh bo‘lishi mumkin. HDFS ushbu muammolarni hal qilish uchun “qayta muvozanatlash” xizmatini taqdim etadi. Maqsad - bu mahalliy disklarning har bir to‘plami qanchalik to‘liq bo‘lishiga qarab ma’lumotlar tugunlarini muvozanatlashtirish. Balanslashtiruvchi klaster faol bo‘lganda ishlaydi va tarmoq trafigini ortiqcha yuklamaslik uchun uni siqib qo‘yish mumkin. Axir, HDFS avval fayllar va bloklarni boshqarishi kerak, so‘ngra klaster qanchalik muvozanatli bo‘lishi kerakligi haqida qayg‘urishi kerak. Balanslashtiruvchi samarali, ammo u juda ko‘p aqlga ega emas. Masalan, kirish yoki yuklash shablonlarini yarata olmaysiz va ushbu shartlar uchun muvozanatni o‘rnatishingiz mumkin emas. Bundan tashqari, ma’lumotlar faol nuqtalarini aniqlay olmaydi va ularni tuzatmaydi. Ehtimol, ushbu xususiyatlar HDFS-ning kelgusi versiyalarida taqdim etilishi mumkin. Hadoop MapreduceHadoop MapReduce imkoniyatlarini to‘liq bilish uchun MapReduce (algoritm) va MapReduce dasturini ajratishimiz kerak. Hadoop MapReduce - bu Apache Hadoop loyihasi tomonidan ishlab chiqilgan va qo‘llab-quvvatlanadigan algoritmni amalga oshirish. Ushbu dasturni MapReduce mexanizmi deyish mumkin, chunki u shunday ishlaydi. Kirish (yoqilg‘i) bilan ta‘minlaysiz, dvigatel kirishni tez va samarali ravishda chiqarishga aylantiradi va kerakli javoblarni olasiz. Biznes muammolarini hal qilish uchun Hadoop-dan foydalanasiz, shuning uchun u qanday va nima uchun ishlashini tushunishingiz kerak. Shunday qilib, biz Hadoop-da MapReduce dasturini batafsil ko‘rib chiqamiz. Hadoop MapReduce bir nechta bosqichlarni o‘z ichiga oladi, ularning har biri katta ma’lumotlardan kerakli javoblarni olish maqsadingizga erishishda yordam beradigan muhim amallar to‘plamini o‘z ichiga oladi. Jarayon foydalanuvchidan MapReduce-ni ishga tushirishni so‘rash bilan boshlanadi va natijalar HDFS-ga qaytarilguncha davom etadi. 9.2-rasmda MapReduce o‘z vazifalarini qanday bajarishi ko‘rsatilgan. Download 1.27 Mb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling