Paylanmış hesablama və böyük verilənlər bazarı, görə
Adi biznesdə paylanmış hesablamalara nə üçün ehtiyacımız var? Hər şey sadə və eyni zamanda mürəkkəbdir. Sadə - çünki əksər hallarda biz informasiya vahidinə nisbətən sadə hesablamalar aparırıq. Çətin - çünki belə məlumatlar çoxdur. Bu qədər çox. Nəticədə məcburdur
Son bir nümunə: Dodo Pizza
Daha bir nümunə:
Alət seçimi
Bu cür hesablamalar üçün sənaye standartı Hadoop-dur. Niyə? Çünki Hadoop əla, yaxşı sənədləşdirilmiş bir çərçivədir (eyni Habr bu mövzuda çoxlu ətraflı məqalələr verir), onu bütün kommunal proqramlar və kitabxanalar dəsti müşayiət edir. Siz həm strukturlaşdırılmış, həm də strukturlaşdırılmamış məlumatların böyük dəstlərini giriş kimi təqdim edə bilərsiniz və sistemin özü onları hesablama gücü arasında paylayacaq. Üstəlik, bu eyni imkanlar istənilən vaxt artırıla və ya söndürülə bilər - eyni üfüqi miqyaslılıq fəaliyyətdədir.
2017-ci ildə nüfuzlu konsaltinq şirkəti Gartner
Hadoop bir neçə sütuna əsaslanır, bunlardan ən diqqətəlayiq olanı MapReduce texnologiyaları (serverlər arasında hesablamalar üçün məlumatların paylanması sistemi) və HDFS fayl sistemidir. Sonuncu xüsusi olaraq klaster qovşaqları arasında paylanmış məlumatları saxlamaq üçün nəzərdə tutulmuşdur: sabit ölçülü hər bir blok bir neçə qovşaqda yerləşdirilə bilər və təkrarlama sayəsində sistem ayrı-ayrı qovşaqların uğursuzluğuna davamlıdır. Fayl cədvəli əvəzinə NameNode adlı xüsusi server istifadə olunur.
Aşağıdakı təsvir MapReduce-un necə işlədiyini göstərir. Birinci mərhələdə verilənlər müəyyən atribut üzrə bölünür, ikinci mərhələdə hesablama gücü ilə paylanır, üçüncü mərhələdə hesablama aparılır.
MapReduce əvvəlcə Google tərəfindən axtarış ehtiyacları üçün yaradılmışdır. Sonra MapReduce pulsuz koda keçdi və Apache layihəni öz üzərinə götürdü. Yaxşı, Google tədricən digər həllərə keçdi. Maraqlı bir nüans: hazırda Google-da Hadoop-dan sonra onun sürətli əvəzedicisi kimi yerləşdirilmiş Google Cloud Dataflow adlı bir layihə var.
Daha yaxından nəzər saldıqda, Google Cloud Dataflow-un Apache Beam-in variasiyasına əsaslandığını, Apache Beam-ə isə yaxşı sənədləşdirilmiş Apache Spark çərçivəsini ehtiva etdiyini və həllin demək olar ki, eyni sürəti haqqında danışmağa imkan verdiyini göstərir. Yaxşı, Apache Spark HDFS fayl sistemində yaxşı işləyir, bu da onu Hadoop serverlərində yerləşdirməyə imkan verir.
Google Cloud Dataflow-a qarşı Hadoop və Spark üçün sənədlərin həcmini və hazır həlləri buraya əlavə edin və alət seçimi aydın olur. Üstəlik, mühəndislər tapşırığa, təcrübəyə və ixtisasa diqqət yetirərək hansı kodu - Hadoop və ya Spark altında icra edəcəklərinə özləri qərar verə bilərlər.
Bulud və ya yerli server
Buluda ümumi keçid tendensiyası hətta Hadoop-as-a-service kimi maraqlı bir terminin yaranmasına səbəb oldu. Belə bir ssenaridə bağlı serverlərin idarə edilməsi çox vacib hala gəldi. Təəssüf ki, populyarlığına baxmayaraq, təmiz Hadoop konfiqurasiya etmək olduqca çətin bir vasitədir, çünki əl ilə çox şey etməlisən. Məsələn, siz serverləri fərdi olaraq konfiqurasiya edə, onların işinə nəzarət edə və bir çox parametrləri dəqiqləşdirə bilərsiniz. Ümumiyyətlə, həvəskar üçün işləyin və bir yerdə vidalamaq və ya bir şeyi əldən vermək şansı böyükdür.
Buna görə də, əvvəlcə rahat yerləşdirmə və idarəetmə vasitələri ilə təchiz edilmiş müxtəlif paylamalar çox populyarlaşdı. Spark-ı dəstəkləyən və işləri asanlaşdıran daha populyar paylamalardan biri Cloudera-dır. Həm pullu, həm də pulsuz versiyaları var - və sonuncuda bütün əsas funksionallıq mövcuddur və qovşaqların sayını məhdudlaşdırmadan.
Quraşdırma zamanı Cloudera Manager serverlərinizə SSH vasitəsilə qoşulacaq. Maraqlı bir məqam: quraşdırarkən, onun sözdə həyata keçirildiyini qeyd etmək daha yaxşıdır bağlamalar: hər biri bir-biri ilə işləmək üçün konfiqurasiya edilmiş bütün zəruri komponentləri ehtiva edən xüsusi paketlər. Əslində, bu paket menecerinin belə təkmilləşdirilmiş versiyasıdır.
Quraşdırıldıqdan sonra biz klaster idarəetmə konsolunu əldə edirik, burada siz klasterlər, quraşdırılmış xidmətlər üçün telemetriyanı görə bilərsiniz, üstəlik siz resursları əlavə edə / silə və klaster konfiqurasiyasını redaktə edə bilərsiniz.
Nəticədə qarşınızda həmin raketin kəsilməsi görünür və bu sizi BigData-nın parlaq gələcəyinə aparacaq. Ancaq "gedək" deməzdən əvvəl kapotun altında sürətlə irəliləyək.
aparat tələbləri
Veb saytında Cloudera müxtəlif mümkün konfiqurasiyaları qeyd edir. Onların qurulmasının ümumi prinsipləri təsvirdə göstərilmişdir:
MapReduce bu optimist mənzərəni bulandıra bilər. Əvvəlki bölmədəki diaqrama yenidən nəzər saldıqda məlum olur ki, demək olar ki, bütün hallarda MapReduce işi diskdən və ya şəbəkədən məlumatları oxuyarkən darboğaz yarada bilər. Bu, Cloudera bloqunda da qeyd olunur. Nəticədə, hər hansı sürətli hesablamalar üçün, o cümlədən real vaxt hesablamaları üçün tez-tez istifadə olunan Spark vasitəsilə I / O sürəti çox vacibdir. Buna görə də, Hadoop-dan istifadə edərkən, balanslaşdırılmış və sürətli maşınların klasterə daxil olması çox vacibdir, yumşaq desək, bulud infrastrukturunda həmişə təmin edilmir.
Yük bölgüsündə balans güclü çoxnüvəli CPU-ları olan serverlərdə Openstack virtualizasiyasından istifadə etməklə əldə edilir. Məlumat qovşaqlarına öz prosessor resursları və müəyyən disklər ayrılır. Qərarımızda Atos Codex Data Lake Mühərriki geniş virtuallaşdırma əldə edilir, buna görə də biz həm performans (şəbəkə infrastrukturunun təsiri minimuma endirilir), həm də TCO (əlavə fiziki serverlər aradan qaldırılır) baxımından qalib gəlirik.
BullSequana S200 serverlərindən istifadə edildikdə, bəzi maneələrdən məhrum olan çox vahid yük alırıq. Minimum konfiqurasiyaya hər biri iki JBOD olan 3 BullSequana S200 server daxildir, üstəgəl dörd məlumat qovşağından ibarət əlavə S200-lər isteğe bağlıdır. TeraGen testində yüklənmə nümunəsi:
Fərqli məlumat həcmləri və təkrarlama dəyərlərinə malik testlər klaster qovşaqları arasında yük paylanması baxımından eyni nəticələri göstərir. Aşağıda performans testləri ilə diskə girişin paylanması qrafiki verilmişdir.
Hesablamalar 3 BullSequana S200 serverinin minimum konfiqurasiyasına əsaslanır. Buraya 9 məlumat qovşağı və 3 əsas qovşaq, həmçinin OpenStack Virtualizasiyasına əsaslanan mühafizənin tətbiqi zamanı qorunan virtual maşınlar daxildir. TeraSort test nəticəsi: Şifrələmə ilə üç təkrarlama faktorunun 512 MB blok ölçüsü 23,1 dəqiqədir.
Sistemi necə genişləndirmək olar? Data Lake Engine üçün müxtəlif növ genişləndirmələr mövcuddur:
- Məlumat qovşaqları: hər 40 TB istifadə sahəsi üçün
- GPU quraşdırmaq imkanı olan analitik qovşaqlar
- Biznes ehtiyaclarından asılı olaraq digər variantlar (məsələn, Kafka və s. ehtiyacınız varsa)
Atos Codex Data Lake Engine kompleksinə həm serverlərin özləri, həm də əvvəlcədən quraşdırılmış proqram təminatı, o cümlədən lisenziyalı Cloudera dəsti daxildir; Hadoop özü, RedHat Enterprise Linux nüvəsinə əsaslanan virtual maşınlarla OpenStack, məlumatların təkrarlanması və ehtiyat nüsxə sistemləri (o cümlədən ehtiyat qovşağından və Cloudera BDR - Yedəkləmə və Fəlakətin Bərpası). Atos Codex Data Lake Engine sertifikatlaşdırılan ilk virtuallaşdırma həllidir
Əgər təfərrüatlarla maraqlanırsınızsa, şərhlərdə suallarımızı cavablandırmaqdan məmnun olarıq.
Mənbə: www.habr.com