Ko'ra, taqsimlangan hisoblash va katta ma'lumotlar bozori
Nima uchun oddiy biznesda taqsimlangan hisoblash kerak? Bu erda hamma narsa bir vaqtning o'zida oddiy va murakkab. Oddiy - chunki ko'p hollarda biz ma'lumot birligi uchun nisbatan oddiy hisob-kitoblarni amalga oshiramiz. Bu juda qiyin, chunki bunday ma'lumotlar juda ko'p. Juda ko'p. Natijada, bu zarur
So'nggi misollardan biri: Dodo Pizza pitseriya tarmog'i
Yana bir misol:
Asbob tanlash
Ushbu turdagi hisoblash uchun sanoat standarti Hadoop hisoblanadi. Nega? Chunki Hadoop - bu mukammal, yaxshi hujjatlashtirilgan ramka (xuddi shu Habr ushbu mavzu bo'yicha ko'plab batafsil maqolalarni taqdim etadi), u butun yordamchi dasturlar va kutubxonalar to'plami bilan birga keladi. Siz tuzilgan va tuzilmagan ma'lumotlarning katta to'plamlarini kiritishingiz mumkin va tizimning o'zi uni hisoblash quvvatlari orasida taqsimlaydi. Bundan tashqari, xuddi shu imkoniyatlarni istalgan vaqtda oshirish yoki o'chirib qo'yish mumkin - xuddi shu gorizontal miqyoslilik amalda.
2017 yilda nufuzli konsalting kompaniyasi Gartner
Hadoop bir nechta ustunlarga tayanadi, ulardan eng diqqatga sazovorlari MapReduce texnologiyalari (serverlar o'rtasida hisob-kitoblar uchun ma'lumotlarni tarqatish tizimi) va HDFS fayl tizimi. Ikkinchisi klaster tugunlari o'rtasida taqsimlangan ma'lumotlarni saqlash uchun maxsus mo'ljallangan: qattiq o'lchamdagi har bir blok bir nechta tugunlarga joylashtirilishi mumkin va replikatsiya tufayli tizim alohida tugunlarning nosozliklariga chidamli. Fayl jadvali o'rniga NameNode deb nomlangan maxsus server ishlatiladi.
Quyidagi rasmda MapReduce qanday ishlashi ko'rsatilgan. Birinchi bosqichda ma'lumotlar ma'lum bir mezon bo'yicha bo'linadi, ikkinchi bosqichda hisoblash quvvatiga ko'ra taqsimlanadi, uchinchi bosqichda esa hisoblash amalga oshiriladi.
MapReduce dastlab Google tomonidan qidiruv ehtiyojlari uchun yaratilgan. Keyin MapReduce bepul kod oldi va Apache loyihani o'z zimmasiga oldi. Google asta-sekin boshqa echimlarga o'tdi. Qiziqarli ma'lumot: Google hozirda Google Cloud Dataflow deb nomlangan loyihaga ega bo'lib, uni tezkor almashtirish sifatida Hadoopdan keyingi qadam sifatida joylashtirilgan.
Yaqindan ko'rib chiqsak, Google Cloud Dataflow Apache Beamning o'zgarishiga asoslanganligini ko'rsatadi, Apache Beam esa yaxshi hujjatlashtirilgan Apache Spark ramkasini o'z ichiga oladi, bu bizga yechimlarning deyarli bir xil bajarilish tezligi haqida gapirish imkonini beradi. Xo'sh, Apache Spark HDFS fayl tizimida mukammal ishlaydi, bu esa uni Hadoop serverlarida joylashtirish imkonini beradi.
Bu yerga Google Cloud Dataflow-ga nisbatan Hadoop va Spark uchun hujjatlar va tayyor echimlar hajmini qo'shing va vositani tanlash aniq bo'ladi. Bundan tashqari, muhandislar vazifa, tajriba va malakaga e'tibor qaratgan holda, Hadoop yoki Spark uchun qaysi kodni ishlatish kerakligini o'zlari hal qilishlari mumkin.
Bulutli yoki mahalliy server
Bulutga umumiy o'tish tendentsiyasi hatto Hadoop-as-a-service kabi qiziqarli atamani ham keltirib chiqardi. Bunday stsenariyda ulangan serverlarni boshqarish juda muhim bo'ldi. Afsuski, mashhurligiga qaramay, sof Hadoop sozlash juda qiyin vosita, chunki ko'p narsalarni qo'lda qilish kerak. Masalan, serverlarni alohida-alohida sozlang, ularning ishlashini kuzatib boring va ko'plab parametrlarni diqqat bilan sozlang. Umuman olganda, ish havaskorlar uchundir va biror joyda chalkashlik yoki biror narsani etishmaslik ehtimoli katta.
Shu sababli, dastlab qulay joylashtirish va boshqarish vositalari bilan jihozlangan turli tarqatish to'plamlari juda mashhur bo'ldi. Spark-ni qo'llab-quvvatlaydigan va hamma narsani osonlashtiradigan eng mashhur tarqatishlardan biri bu Cloudera. Uning pullik va bepul versiyalari mavjud - va ikkinchisida tugunlar sonini cheklamasdan barcha asosiy funktsiyalar mavjud.
Sozlash vaqtida Cloudera Manager serverlaringizga SSH orqali ulanadi. Qiziqarli nuqta: o'rnatayotganda, uni amalga oshirish deb ataladigan narsani ko'rsatish yaxshiroqdir parsellar: har biri bir-biri bilan ishlash uchun tuzilgan barcha kerakli komponentlarni o'z ichiga olgan maxsus paketlar. Aslida, bu paket menejerining takomillashtirilgan versiyasidir.
O'rnatishdan so'ng biz klasterni boshqarish konsolini olamiz, unda siz klaster telemetriyasini, o'rnatilgan xizmatlarni ko'rishingiz, shuningdek, resurslarni qo'shishingiz/o'chirishingiz va klaster konfiguratsiyasini tahrirlashingiz mumkin.
Natijada, sizning oldingizda BigData ning yorqin kelajagiga olib boradigan raketaning kabinasi paydo bo'ladi. Ammo "ketaylik" deyishdan oldin, keling, kaput ostida harakat qilaylik.
Uskuna talablari
O'z veb-saytida Cloudera turli xil konfiguratsiyalarni eslatib o'tadi. Ularni qurishning umumiy tamoyillari rasmda ko'rsatilgan:
MapReduce bu optimistik rasmni xiralashtirishi mumkin. Agar oldingi bo'limdagi diagrammaga yana bir bor qarasangiz, deyarli barcha holatlarda MapReduce ishi diskdan yoki tarmoqdan ma'lumotlarni o'qishda muammoga duch kelishi aniq bo'ladi. Bu Cloudera blogida ham qayd etilgan. Natijada, har qanday tezkor hisob-kitoblar uchun, shu jumladan real vaqtda hisob-kitoblar uchun tez-tez ishlatiladigan Spark orqali, I/U tezligi juda muhimdir. Shuning uchun, Hadoop-dan foydalanganda, klaster muvozanatli va tezkor mashinalarni o'z ichiga olishi juda muhim, ular yumshoq qilib aytganda, bulut infratuzilmasida har doim ham ta'minlanmaydi.
Yuk taqsimotidagi muvozanat kuchli ko'p yadroli protsessorlarga ega serverlarda Openstack virtualizatsiyasidan foydalanish orqali erishiladi. Ma'lumotlar tugunlariga o'zlarining protsessor resurslari va maxsus disklari ajratilgan. Bizning qarorimizda Atos Codex Data Leyk dvigateli Keng virtualizatsiyaga erishildi, shuning uchun biz ishlash jihatidan ham (tarmoq infratuzilmasining ta'siri minimallashtiriladi) va TCO (qo'shimcha jismoniy serverlar yo'q qilinadi) bo'yicha foyda olamiz.
BullSequana S200 serverlaridan foydalanganda, biz ba'zi muammolarsiz juda bir xil yuk olamiz. Minimal konfiguratsiya 3 ta BullSequana S200 serverini o'z ichiga oladi, ularning har biri ikkita JBODga ega, shuningdek, to'rtta ma'lumot tugunini o'z ichiga olgan qo'shimcha S200-lar ixtiyoriy ravishda ulanadi. TeraGen testidagi yukning namunasi:
Turli xil ma'lumotlar hajmlari va replikatsiya qiymatlari bo'lgan testlar klaster tugunlari o'rtasida yuk taqsimoti nuqtai nazaridan bir xil natijalarni ko'rsatadi. Quyida ishlash testlari bo'yicha diskka kirishni taqsimlash grafigi keltirilgan.
Hisob-kitoblar 3 ta BullSequana S200 serverining minimal konfiguratsiyasi asosida amalga oshirildi. Unga 9 ta ma'lumotlar tugunlari va 3 ta asosiy tugunlar, shuningdek, OpenStack Virtualization asosida himoya o'rnatilganda zahiralangan virtual mashinalar kiradi. TeraSort test natijasi: blok hajmi 512 MB replikatsiya koeffitsienti shifrlanganda uchtaga teng 23,1 daqiqa.
Tizimni qanday kengaytirish mumkin? Data Lake Engine uchun kengaytmalarning har xil turlari mavjud:
- Ma'lumot tugunlari: har 40 TB foydalanish mumkin bo'lgan joy uchun
- GPU o'rnatish imkoniyatiga ega bo'lgan analitik tugunlar
- Biznes ehtiyojlariga qarab boshqa variantlar (masalan, Kafka va shunga o'xshash narsalar kerak bo'lsa)
Atos Codex Data Lake Engine serverlarning o'zini ham, oldindan o'rnatilgan dasturiy ta'minotni, jumladan, litsenziyalangan Cloudera to'plamini o'z ichiga oladi; Hadoop-ning o'zi, RedHat Enterprise Linux yadrosiga asoslangan virtual mashinalar bilan OpenStack, ma'lumotlarni ko'paytirish va zaxiralash tizimlari (shu jumladan, zaxira tugunidan foydalanish va Cloudera BDR - Zaxiralash va halokatni tiklash). Atos Codex Data Lake Engine sertifikatlangan birinchi virtualizatsiya yechimiga aylandi
Agar siz tafsilotlarga qiziqsangiz, sharhlarda savollarimizga javob berishdan mamnun bo'lamiz.
Manba: www.habr.com