Wat is spesiaal aan Cloudera en hoe om dit gaar te maak

Die mark vir verspreide rekenaars en groot data, volgens statistieke, groei met 18-19% per jaar. Dit beteken dat die kwessie van die keuse van sagteware vir hierdie doeleindes relevant bly. In hierdie pos begin ons met hoekom verspreide rekenaars nodig is, gaan in meer besonderhede oor die keuse van sagteware, praat oor die gebruik van Hadoop met Cloudera, en laastens praat oor die keuse van hardeware en hoe dit werkverrigting op verskillende maniere beïnvloed.

Wat is spesiaal aan Cloudera en hoe om dit gaar te maak
Waarom is verspreide rekenaars nodig in gewone besigheid? Alles hier is eenvoudig en ingewikkeld op dieselfde tyd. Eenvoudig - want in die meeste gevalle doen ons relatief eenvoudige berekeninge per eenheid inligting. Dit is moeilik, want daar is baie sulke inligting. So baie. As gevolg hiervan is dit nodig verwerk teragrepe data in 1000 drade. Die gebruiksgevalle is dus redelik universeel: berekeninge kan gebruik word waar dit ook al nodig is om 'n groot aantal metrieke op 'n selfs groter reeks data in ag te neem.

Een van die onlangse voorbeelde: die Dodo Pizza-pizzeria-ketting gedefinieer gebaseer op 'n ontleding van die kliëntbestellingsdatabasis, dat wanneer hulle 'n pizza met 'n ewekansige bolaag kies, gebruikers gewoonlik met net ses basiese stelle bestanddele plus 'n paar ewekansiges werk. In ooreenstemming hiermee het die pizzeria sy aankope aangepas. Boonop kon sy bykomende produkte wat tydens die bestelfase aan gebruikers aangebied word beter aanbeveel, wat wins verhoog het.

Nog 'n voorbeeld: analise van produkitems het die H&M-winkel in staat gestel om die verskeidenheid in individuele winkels met 40% te verminder, terwyl verkoopsvlakke gehandhaaf is. Dit is bereik deur items wat swak verkoop is uit te sluit, en seisoenaliteit is in die berekeninge in ag geneem.

Gereedskap seleksie

Die industriestandaard vir hierdie tipe rekenaar is Hadoop. Hoekom? Omdat Hadoop 'n uitstekende, goed gedokumenteerde raamwerk is (dieselfde Habr verskaf baie gedetailleerde artikels oor hierdie onderwerp), wat vergesel word van 'n hele stel nutsprogramme en biblioteke. Jy kan groot stelle van beide gestruktureerde en ongestruktureerde data invoer, en die stelsel self sal dit onder die rekenaarkrag versprei. Boonop kan hierdie selfde vermoëns te eniger tyd verhoog of gedeaktiveer word - dieselfde horisontale skaalbaarheid in aksie.

In 2017 het die invloedryke konsultasiemaatskappy Gartner afgesluitdat Hadoop binnekort verouderd sal raak. Die rede is redelik banaal: ontleders glo dat maatskappye massaal na die wolk sal migreer, aangesien hulle daar sal kan betaal as hulle rekenaarkrag gebruik. Die tweede belangrike faktor wat Hadoop kwansuis kan “begrawe”, is sy spoed. Omdat opsies soos Apache Spark of Google Cloud DataFlow vinniger is as MapReduce, wat onderliggend is aan Hadoop.

Hadoop berus op verskeie pilare, waarvan die mees noemenswaardige MapReduce-tegnologieë ('n stelsel vir die verspreiding van data vir berekeninge tussen bedieners) en die HDFS-lêerstelsel is. Laasgenoemde is spesiaal ontwerp vir die stoor van inligting wat tussen groepnodusse versprei is: elke blok van 'n vaste grootte kan op verskeie nodusse geplaas word, en danksy replikasie is die stelsel bestand teen mislukkings van individuele nodusse. In plaas van 'n lêertabel, word 'n spesiale bediener genaamd NameNode gebruik.

Die illustrasie hieronder wys hoe MapReduce werk. In die eerste stadium word die data volgens 'n sekere maatstaf verdeel, in die tweede stadium word dit volgens rekenkrag versprei, en in die derde stadium vind die berekening plaas.

Wat is spesiaal aan Cloudera en hoe om dit gaar te maak
MapReduce is oorspronklik deur Google geskep vir sy soekbehoeftes. Toe gaan MapReduce gratis kode, en Apache het die projek oorgeneem. Wel, Google het geleidelik na ander oplossings gemigreer. 'n Interessante bietjie: Google het tans 'n projek genaamd Google Cloud Dataflow, geposisioneer as die volgende stap na Hadoop, as 'n vinnige plaasvervanger daarvoor.

'n Nadere kyk toon dat Google Cloud Dataflow gebaseer is op 'n variasie van Apache Beam, terwyl Apache Beam die goed gedokumenteerde Apache Spark-raamwerk insluit, wat ons in staat stel om oor byna dieselfde uitvoeringspoed van oplossings te praat. Wel, Apache Spark werk perfek op die HDFS-lêerstelsel, wat dit moontlik maak om dit op Hadoop-bedieners te ontplooi.

Voeg hier die volume dokumentasie en klaargemaakte oplossings vir Hadoop en Spark teenoor Google Cloud Dataflow, en die keuse van instrument word voor die hand liggend. Boonop kan ingenieurs self besluit watter kode - vir Hadoop of Spark - hulle moet gebruik, met die fokus op die taak, ervaring en kwalifikasies.

Wolk of plaaslike bediener

Die neiging na 'n algemene oorgang na die wolk het selfs aanleiding gegee tot so 'n interessante term soos Hadoop-as-'n-diens. In so 'n scenario het die administrasie van gekoppelde bedieners baie belangrik geword. Omdat, helaas, ten spyte van sy gewildheid, pure Hadoop 'n taamlik moeilike instrument is om op te stel, aangesien baie met die hand gedoen moet word. Stel byvoorbeeld bedieners individueel op, monitor hul werkverrigting en stel baie parameters noukeurig op. Oor die algemeen is die werk vir 'n amateur en daar is 'n groot kans om iewers te mors of iets te mis.

Daarom het verskeie verspreidingsstelle, wat aanvanklik toegerus is met gerieflike ontplooiings- en administrasiehulpmiddels, baie gewild geword. Een van die gewildste verspreidings wat Spark ondersteun en alles maklik maak, is Cloudera. Dit het beide betaalde en gratis weergawes - en in laasgenoemde is alle basiese funksionaliteit beskikbaar, sonder om die aantal nodusse te beperk.

Wat is spesiaal aan Cloudera en hoe om dit gaar te maak

Tydens opstelling sal Cloudera Manager via SSH aan u bedieners koppel. 'N Interessante punt: wanneer jy installeer, is dit beter om te spesifiseer dat dit deur die sogenaamde parsels: spesiale pakkette, wat elk al die nodige komponente bevat wat opgestel is om met mekaar te werk. In wese is dit 'n verbeterde weergawe van die pakketbestuurder.

Na die installasie ontvang ons 'n groepbestuurkonsole, waar jy groeptelemetrie, geïnstalleerde dienste kan sien, plus jy kan hulpbronne byvoeg/verwyder en die groepkonfigurasie kan wysig.

Wat is spesiaal aan Cloudera en hoe om dit gaar te maak

Gevolglik verskyn die kajuit van die vuurpyl wat jou na die blink toekoms van BigData sal neem voor jou. Maar voordat ons sê "kom ons gaan," kom ons beweeg onder die enjinkap.

Hardeware vereistes

Op sy webwerf noem Cloudera verskillende moontlike konfigurasies. Die algemene beginsels waarvolgens hulle gebou is, word in die illustrasie getoon:

Wat is spesiaal aan Cloudera en hoe om dit gaar te maak
MapReduce kan hierdie optimistiese prentjie vervaag. As jy weer na die diagram van die vorige afdeling kyk, word dit duidelik dat 'n MapReduce-werk in byna alle gevalle 'n bottelnek kan ondervind wanneer data vanaf skyf of van die netwerk gelees word. Dit word ook in die Cloudera-blog opgemerk. As gevolg hiervan, vir enige vinnige berekeninge, insluitend deur Spark, wat dikwels vir intydse berekeninge gebruik word, is I/O-spoed baie belangrik. Daarom, wanneer Hadoop gebruik word, is dit baie belangrik dat die cluster gebalanseerde en vinnige masjiene insluit, wat, om dit sagkens te stel, nie altyd in die wolkinfrastruktuur verseker word nie.

Balans in vragverspreiding word verkry deur die gebruik van Openstack-virtualisering op bedieners met kragtige multi-kern SVE's. Data nodusse word hul eie verwerker hulpbronne en spesifieke skywe toegeken. In ons besluit Atos Codex Data Lake Engine Wye virtualisering word bereik, en daarom baat ons beide in terme van werkverrigting (die impak van die netwerkinfrastruktuur word tot die minimum beperk) en in TCO (ekstra fisiese bedieners word uitgeskakel).

Wat is spesiaal aan Cloudera en hoe om dit gaar te maak
Wanneer ons BullSequana S200-bedieners gebruik, kry ons 'n baie eenvormige vrag, sonder 'n paar knelpunte. Die minimum konfigurasie sluit 3 BullSequana S200-bedieners in, elk met twee JBOD's, plus bykomende S200's wat vier datanodusse bevat is opsioneel gekoppel. Hier is 'n voorbeeld van die las in die TeraGen-toets:

Wat is spesiaal aan Cloudera en hoe om dit gaar te maak

Toetse met verskillende datavolumes en replikasiewaardes toon dieselfde resultate in terme van vragverspreiding tussen klusternodusse. Hieronder is 'n grafiek van die verspreiding van skyftoegang deur prestasietoetse.

Wat is spesiaal aan Cloudera en hoe om dit gaar te maak

Berekeninge is uitgevoer op grond van 'n minimum konfigurasie van 3 BullSequana S200-bedieners. Dit bevat 9 data nodusse en 3 meester nodusse, sowel as gereserveerde virtuele masjiene in die geval van ontplooiing van beskerming gebaseer op OpenStack Virtualization. TeraSort-toetsresultaat: blokgrootte 512 MB replikasiefaktor gelyk aan drie met enkripsie is 23,1 minute.

Hoe kan die stelsel uitgebrei word? Daar is verskillende tipes uitbreidings beskikbaar vir Data Lake Engine:

  • Data nodusse: vir elke 40 TB bruikbare spasie
  • Analitiese nodusse met die vermoë om 'n GPU te installeer
  • Ander opsies afhangende van besigheidsbehoeftes (byvoorbeeld, as jy Kafka en dies meer benodig)

Wat is spesiaal aan Cloudera en hoe om dit gaar te maak

Die Atos Codex Data Lake Engine bevat beide die bedieners self en vooraf geïnstalleerde sagteware, insluitend 'n gelisensieerde Cloudera-stel; Hadoop self, OpenStack met virtuele masjiene gebaseer op die RedHat Enterprise Linux-kern, data-replikasie en rugsteunstelsels (insluitend die gebruik van 'n rugsteunnodus en Cloudera BDR - Backup and Disaster Recovery). Atos Codex Data Lake Engine het die eerste virtualiseringsoplossing geword wat gesertifiseer is Cloudera.

As jy belangstel in besonderhede, sal ons graag ons vrae in die kommentaar beantwoord.

Bron: will.com

Voeg 'n opmerking