Cloudera-ның ерекшелігі неде және оны қалай дайындау керек

сәйкес таратылған есептеулер және үлкен деректер нарығы статистика, жылына 18-19% өсуде. Бұл осы мақсаттар үшін бағдарламалық қамтамасыз етуді таңдау мәселесі өзекті болып қала беретінін білдіреді. Бұл мақалада біз неліктен бізге бөлінген есептеулер қажет екенін бастаймыз, бағдарламалық жасақтаманы таңдауға толығырақ тоқталамыз, біз Hadoop-ті Cloudera-мен пайдалану туралы сөйлесеміз, соңында аппараттық құралдарды таңдау және оның өнімділікке қалай әсер ететіні туралы сөйлесеміз. әртүрлі жолдармен.

Cloudera-ның ерекшелігі неде және оны қалай дайындау керек
Неліктен бізге қарапайым бизнесте бөлінген есептеулер қажет? Барлығы бір уақытта қарапайым және күрделі. Қарапайым - өйткені біз көп жағдайда ақпарат бірлігіне салыстырмалы қарапайым есептеулерді орындаймыз. Қиын - өйткені мұндай ақпарат өте көп. Өте көп. Нәтижесінде, ол керек 1000 ағындағы терабайт деректерді өңдеу. Осылайша, пайдалану жағдайлары айтарлықтай әмбебап: есептеулерді одан да үлкен деректер массивінде метриканың үлкен санын ескеру қажет болған жерде қолдануға болады.

Соңғы бір мысал: Додо пицца анықталған Тұтынушының тапсырыс базасын талдау негізінде, ерікті қоспалары бар пиццаны таңдағанда, пайдаланушылар әдетте тек алты негізгі ингредиенттер жиынтығымен және бірнеше кездейсоқ ингредиенттермен жұмыс істейді. Тиісінше, пиццерия сатып алуды реттеді. Сонымен қатар, ол пайдаланушыларға тапсырыс кезеңінде ұсынылған қосымша өнімдерді жақсырақ ұсына алды, бұл пайданы арттырды.

Басқа мысал: талдау тауарлар H&M-ге сатылым деңгейін сақтай отырып, жеке дүкендердегі ассортиментті 40%-ға қысқартуға мүмкіндік берді. Бұған нашар сатылатын позицияларды алып тастау арқылы қол жеткізілді және есептеулерде маусымдылық ескерілді.

Құралды таңдау

Мұндай есептеулер үшін салалық стандарт - Hadoop. Неліктен? Өйткені Hadoop - тамаша, жақсы құжатталған құрылым (сол Хабр осы тақырып бойынша көптеген егжей-тегжейлі мақалаларды береді), ол утилиталар мен кітапханалардың тұтас жиынтығымен бірге жүреді. Енгізу ретінде құрылымдалған және құрылымдалмаған деректердің үлкен жиынын жібере аласыз және жүйенің өзі оларды есептеу қуаты арасында таратады. Сонымен қатар, бұл бірдей қуаттарды кез келген уақытта ұлғайтуға немесе өшіруге болады - әрекеттегі дәл сол көлденең масштабтау.

2017 жылы Gartner ықпалды консалтингтік компаниясы қорытынды жасадыбұл Hadoop жақында ескіреді. Мұның себебі өте қарапайым: сарапшылар компаниялар бұлтқа жаппай көшетініне сенеді, өйткені олар есептеу қуатын пайдалану негізінде төлем жасай алады. Hadoop-ты «жерлеуге» қабілетті екінші маңызды фактор - бұл жұмыс жылдамдығы. Өйткені Apache Spark немесе Google Cloud DataFlow сияқты опциялар MapReduce негізіндегі Hadoop-қа қарағанда жылдамырақ.

Hadoop бірнеше тіректерге негізделген, олардың ең маңыздысы MapReduce технологиялары (серверлер арасында есептеулер үшін деректерді тарату жүйесі) және HDFS файлдық жүйесі. Соңғысы кластерлік түйіндер арасында таратылатын ақпаратты сақтау үшін арнайы жасалған: бекітілген өлшемдегі әрбір блокты бірнеше түйіндерге орналастыруға болады, ал репликацияның арқасында жүйе жеке түйіндердің сәтсіздіктеріне төзімді. Файлдар кестесінің орнына NameNode деп аталатын арнайы сервер пайдаланылады.

Төмендегі сурет MapReduce қалай жұмыс істейтінін көрсетеді. Бірінші кезеңде мәліметтер белгілі бір атрибут бойынша бөлінеді, екінші кезеңде есептеу қуаты бойынша таратылады, үшінші кезеңде есептеу орын алады.

Cloudera-ның ерекшелігі неде және оны қалай дайындау керек
MapReduce бастапқыда Google іздеу қажеттіліктері үшін жасалған. Содан кейін MapReduce тегін кодқа еніп, Apache жобаны қабылдады. Google бірте-бірте басқа шешімдерге көшті. Қызықты нюанс: қазіргі уақытта Google-да оны жылдам ауыстыру ретінде Hadoop-тан кейінгі келесі қадам ретінде орналасқан Google Cloud Dataflow деп аталатын жоба бар.

Мұқият қарау Google Cloud Dataflow Apache Beam нұсқасына негізделгенін көрсетеді, ал Apache Beam жақсы құжатталған Apache Spark құрылымын қамтиды, бұл шешімді орындаудың бірдей жылдамдығы туралы айтуға мүмкіндік береді. Apache Spark HDFS файлдық жүйесінде жақсы жұмыс істейді, бұл оны Hadoop серверлерінде орналастыруға мүмкіндік береді.

Мұнда Google Cloud Dataflow-қа қарсы Hadoop және Spark үшін құжаттама көлемі мен дайын шешімдерді қосыңыз, сонда құралды таңдау анық болады. Сонымен қатар, инженерлер тапсырмаға, тәжірибеге және біліктілікке назар аудара отырып, Hadoop немесе Spark астында қандай кодты орындайтынын өздері шеше алады.

Бұлтты немесе жергілікті сервер

Бұлтқа жалпы көшу үрдісі тіпті Hadoop-қызмет сияқты қызықты терминді тудырды. Мұндай сценарийде қосылған серверлерді басқару өте маңызды болды. Өйткені, өкінішке орай, өзінің танымалдылығына қарамастан, таза Hadoop - конфигурациялау өте қиын құрал, өйткені қолмен көп нәрсені істеу керек. Мысалы, серверлерді жеке конфигурациялауға, олардың өнімділігін бақылауға және көптеген параметрлерді дәл баптауға болады. Жалпы, әуесқой үшін жұмыс істеңіз және бір жерді бұрмалауға немесе бір нәрсені жіберіп алуға үлкен мүмкіндік бар.

Сондықтан әртүрлі дистрибутивтер өте танымал болды, олар бастапқыда ыңғайлы орналастыру және басқару құралдарымен жабдықталған. Spark қолдайтын және бәрін жеңілдететін танымал дистрибутивтердің бірі - Cloudera. Оның ақылы және ақысыз нұсқалары бар - және соңғысында барлық негізгі функциялар қол жетімді және түйіндердің санын шектемейді.

Cloudera-ның ерекшелігі неде және оны қалай дайындау керек

Орнату кезінде Cloudera Manager серверлеріңізге SSH арқылы қосылады. Қызықты сәт: орнату кезінде оны жүзеге асыратынын көрсеткен дұрыс сәлемдеме: әрқайсысында бір-бірімен жұмыс істеу үшін конфигурацияланған барлық қажетті компоненттер бар арнайы пакеттер. Шын мәнінде, бұл пакет менеджерінің жетілдірілген нұсқасы.

Орнатқаннан кейін біз кластерлерді басқару консолін аламыз, онда сіз кластерлерге, орнатылған қызметтерге арналған телеметрияны көре аласыз, сонымен қатар ресурстарды қосуға/жоюға және кластер конфигурациясын өңдеуге болады.

Cloudera-ның ерекшелігі неде және оны қалай дайындау керек

Нәтижесінде бұл зымыранның кесілуі сіздің алдыңызда пайда болады, ол сізді BigData-ның жарқын болашағына апарады. Бірақ біз «кеттік» деп айтпас бұрын, капюшонның астында алға жылжайық.

аппараттық құралдарға қойылатын талаптар

Cloudera веб-сайтында әртүрлі ықтимал конфигурацияларды атап өтеді. Оларды құрудың жалпы принциптері суретте көрсетілген:

Cloudera-ның ерекшелігі неде және оны қалай дайындау керек
MapReduce бұл оптимистік суретті бұлдыратуы мүмкін. Алдыңғы бөлімдегі диаграммаға қайта қарасақ, MapReduce жұмысы барлық дерлік жағдайларда дискіден немесе желіден деректерді оқу кезінде қиындық тудыруы мүмкін екені белгілі болады. Бұл туралы Cloudera блогында да айтылған. Нәтижесінде кез келген жылдам есептеулер үшін, соның ішінде нақты уақыттағы есептеулер үшін жиі қолданылатын Spark арқылы енгізу/шығару жылдамдығы өте маңызды. Сондықтан, Hadoop-ты пайдаланған кезде кластерге теңдестірілген және жылдам машиналар кіруі өте маңызды, бұл жұмсақ айтқанда, бұлтты инфрақұрылымда әрқашан қамтамасыз етілмейді.

Жүктемені бөлудегі тепе-теңдікке қуатты көп ядролы процессорлары бар серверлерде Openstack виртуализациясын қолдану арқылы қол жеткізіледі. Мәліметтер түйіндеріне өздерінің процессорлық ресурстары және белгілі бір дискілер бөлінеді. Біздің шешімімізде Atos Codex Data Lake қозғалтқышы кең виртуализацияға қол жеткізілді, сондықтан біз өнімділік (желілік инфрақұрылымның әсері барынша азайтылды) және ТШО (қосымша физикалық серверлер жойылды) бойынша да жеңеміз.

Cloudera-ның ерекшелігі неде және оны қалай дайындау керек
BullSequana S200 серверлерін пайдаланған жағдайда, біз кейбір кедергілерсіз өте біркелкі жүктеме аламыз. Ең аз конфигурацияға әрқайсысында екі JBOD бар 3 BullSequana S200 сервері кіреді, сонымен қатар төрт деректер түйінін қамтитын қосымша S200 қосымшалары қосылған. Мұнда TeraGen сынагындағы мысал жүктемесі берілген:

Cloudera-ның ерекшелігі неде және оны қалай дайындау керек

Әртүрлі деректер көлемі мен репликация мәндері бар сынақтар кластер түйіндері бойынша жүктемені бөлу тұрғысынан бірдей нәтижелерді көрсетеді. Төменде өнімділік сынақтары бойынша дискіге қол жеткізуді бөлу графигі берілген.

Cloudera-ның ерекшелігі неде және оны қалай дайындау керек

Есептеулер 3 BullSequana S200 серверінің ең аз конфигурациясына негізделген. Ол 9 деректер түйінін және 3 негізгі түйінді, сондай-ақ OpenStack виртуализациясына негізделген қорғанысты орналастыру жағдайында резервтелген виртуалды машиналарды қамтиды. TeraSort сынақ нәтижесі: шифрлаумен үш репликация коэффициентінің 512 МБ блок өлшемі 23,1 минут.

Жүйені қалай кеңейтуге болады? Data Lake Engine үшін кеңейтімдердің әртүрлі түрлері бар:

  • Деректер түйіндері: пайдалы кеңістіктің әрбір 40 ТБ үшін
  • GPU орнату мүмкіндігі бар аналитикалық түйіндер
  • Бизнес қажеттіліктеріне байланысты басқа опциялар (мысалы, сізге Кафка және т.б. қажет болса)

Cloudera-ның ерекшелігі неде және оны қалай дайындау керек

Atos Codex Data Lake Engine кешені серверлердің өздерін де, алдын ала орнатылған бағдарламалық құралды, соның ішінде лицензиясы бар Cloudera жинағын қамтиды; Hadoop өзі, RedHat Enterprise Linux ядросына негізделген виртуалды машиналары бар OpenStack, деректерді репликациялау және резервтік көшіру жүйелері (соның ішінде сақтық көшірме түйінін және Cloudera BDR - Backup and Disaster Recovery пайдалану). Atos Codex Data Lake Engine - сертификатталған бірінші виртуалдандыру шешімі Клодера.

Егер сізді егжей-тегжейлі білу қызықтырса, біз түсініктемелерде сұрақтарымызға жауап беруге қуаныштымыз.

Ақпарат көзі: www.habr.com

пікір қалдыру