Vad Àr speciellt med Cloudera och hur man arbetar med den

Marknaden för distribuerad databehandling och big data vÀxer, om man fÄr tro statistik, med 18-19 % per Är. Det innebÀr att valet av programvara för dessa ÀndamÄl förblir aktuellt. I detta inlÀgg börjar vi med att förklara varför distribuerad databehandling behövs, vi gÄr nÀrmare in pÄ urvalet av mjukvara, berÀttar om anvÀndningen av Hadoop med hjÀlp av Cloudera, och avslutningsvis diskuterar vi valet av hÄrdvara och hur detta pÄ olika sÀtt pÄverkar prestandan.

Vad Àr speciellt med Cloudera och hur man arbetar med den
Varför Ă€r distribuerad databehandling viktigt i vanlig affĂ€rsverksamhet? Det Ă€r bĂ„de enkelt och komplicerat samtidigt. Enkelt — eftersom vi i de flesta fall gör relativt okomplicerade berĂ€kningar pĂ„ enheter av information. Komplicerat — eftersom det finns mycket av sĂ„dan information. VĂ€ldigt mycket. Som en följd mĂ„ste vi bearbeta terabyter av data i 1000 flöden. PĂ„ sĂ„ sĂ€tt Ă€r anvĂ€ndningsscenarierna ganska universella: berĂ€kningar kan tillĂ€mpas överallt dĂ€r man behöver ta hĂ€nsyn till ett stort antal mĂ€tvĂ€rden pĂ„ en Ă€nnu större datamĂ€ngd.

Ett av de senaste exemplen: pizza kedjan Dodo Pizza , att de celler som finns dÀr Àr makrofager, en del av immunförsvaret. NÄgra mÄnader senare föreslog David Dikman och Le-Chin Wu baserat pÄ analys av kundernas bestÀllningsdatabas, vilket visar att nÀr de vÀljer pizza med en valfri topping anvÀnder anvÀndarna vanligtvis bara sex grundlÀggande ingrediensuppsÀttningar plus nÄgra slumpmÀssiga. I enlighet med detta anpassade pizzerian sina inköp. Dessutom lyckades de bÀttre rekommendera ytterligare produkter till kunderna under bestÀllningsprocessen, vilket ledde till ökad lönsamhet.

Ett annat exempel: analys produkter gjorde att butiken H&M kunde minska sortimentet i vissa butiker med 40 %, samtidigt som försÀljningsnivÄn upprÀtthölls. Detta Ästadkoms genom att utesluta dÄligt sÀljande artiklar, dÀr sÀsongsvariationer beaktades.

Val av verktyg

Branschstandarden för denna typ av berĂ€kningar Ă€r Hadoop. Varför? För att Hadoop Ă€r ett utmĂ€rkt, vĂ€l dokumenterat ramverk (den samme Habr publicerar mĂ„nga detaljerade artiklar om detta), som kommer med ett helt set av verktyg och bibliotek. Du kan mata in stora mĂ€ngder bĂ„de strukturerade och ostrukturerade data, och systemet kommer automatiskt att fördela dem mellan berĂ€kningsresurserna. Dessutom kan dessa resurser nĂ€r som helst ökas eller stĂ€ngas av — den horisontella skalbarheten i aktion.

År 2017 hĂ€vdade det inflytelserika konsultföretaget Gartner har ingĂ„tt, att Hadoop snart skulle bli förĂ„ldrat. Anledningen Ă€r ganska banal: analytiker tror att företag kommer att migrera massivt till molnet, eftersom de dĂ€r kan betala för faktisk anvĂ€ndning av berĂ€kningsresurser. En annan viktig faktor som pĂ„stĂ„s kunna 'begravda' Hadoop Ă€r hastigheten. Alternativ som Apache Spark eller Google Cloud DataFlow arbetar snabbare Ă€n MapReduce, som ligger till grund för Hadoop.

Hadoop vilar pÄ flera pelare, de mest framtrÀdande Àr MapReduce-teknologierna (ett system för datadistribution för berÀkningar mellan servrar) och filsystemet HDFS. Det senare Àr speciellt utformat för att lagra information som Àr distribuerad över klusterets noder: varje block av fast storlek kan placeras pÄ flera noder, och genom replikering sÀkerstÀlls systemets motstÄndskraft mot fel pÄ enskilda noder. IstÀllet för en filtabell anvÀnds en speciell server som kallas NameNode.

I illustrationen nedan visas hur MapReduce fungerar. I det första steget delas data upp utifrÄn ett visst kÀnnetecken, i det andra distribueras de över berÀkningsresurserna, och i det tredje sker berÀkningen.

Vad Àr speciellt med Cloudera och hur man arbetar med den
Ursprungligen utvecklades MapReduce av Google för deras sökmotor. TvÄ dÀrefter gjorde MapReduce öppen kÀllkod, och projektet togs över av Apache. Google har gradvis migrerat till andra lösningar. En intressant detalj Àr att Google för nÀrvarande har ett projekt kallat Google Cloud Dataflow, som positioneras som nÀsta steg efter Hadoop, som en snabb ersÀttning.

Vid nÀrmare granskning framgÄr det att Google Cloud Dataflow baseras pÄ en variant av Apache Beam, och att Apache Beam inkluderar det vÀldokumenterade ramverket Apache Spark, vilket gör att man kan sÀga att hastigheten pÄ utförandet Àr praktiskt taget identisk. Dessutom fungerar Apache Spark utmÀrkt pÄ HDFS, vilket gör att det kan implementeras pÄ Hadoop-servrar.

Om vi lÀgger till mÀngden dokumentation och fÀrdiga lösningar för Hadoop och Spark jÀmfört med Google Cloud Dataflow, blir valet av verktyg uppenbart. Dessutom kan ingenjörerna sjÀlva avgöra vilken kod - för Hadoop eller Spark - de ska köra, beroende pÄ uppgiften, erfarenheten och kvalifikationen.

Molnet eller lokal server

Trenden att övergÄ till molnet har skapat ett intressant begrepp som Hadoop-as-a-service. I detta scenario har administrationen av anslutna servrar blivit mycket viktig. TyvÀrr Àr ren Hadoop ganska komplicerat att konfigurera, eftersom mycket mÄste göras manuellt. Till exempel att konfigurera servrarna enskilt, övervaka deras prestanda och noggrant stÀlla in mÄnga parametrar. Sammanfattningsvis Àr det arbete för entusiaster, och det finns en stor risk att nÄgot gÄr fel eller att nÄgot förbises.

DĂ€rför har olika distributioner som frĂ„n början kommer med anvĂ€ndarvĂ€nliga verktyg för distribution och administration blivit mycket populĂ€ra. En av de mest populĂ€ra distributionerna som stöder Spark och förenklar allt Ă€r Cloudera. Den har bĂ„de betalversioner och gratisversioner – och den senare har all grundlĂ€ggande funktionalitet utan begrĂ€nsning av antalet noder.

Vad Àr speciellt med Cloudera och hur man arbetar med den

Under installationen kommer Cloudera Manager att ansluta till dina servrar via SSH. En intressant punkt: vid installationen Àr det bÀst att ange att den ska utföras med sÄ kallade paket: speciella paket som innehÄller alla nödvÀndiga komponenter som Àr instÀllda för att fungera tillsammans. I grunden Àr detta en förbÀttrad version av en pakethanterare.

Efter installationen fÄr vi en kontrollpanel för klustret dÀr vi kan se telemetri för kluster, installerade tjÀnster, plus att du kan lÀgga till/ta bort resurser och redigera klusterkonfigurationen.

Vad Àr speciellt med Cloudera och hur man arbetar med den

Som resultat fÄr du en sektion av den raket som kommer att föra dig mot en ljus framtid inom Big Data. Men innan vi sÀger "bekvÀm resa", lÄt oss titta under huven.

Krav pÄ hÄrdvara

PÄ sin webbplats nÀmner Cloudera olika möjliga konfigurationer. De allmÀnna principerna för hur de byggs visas i illustrationen:

Vad Àr speciellt med Cloudera och hur man arbetar med den
En optimistisk bild kan dÀmpas av MapReduce. Om man ser pÄ schemat frÄn föregÄende avsnitt igen blir det uppenbart att nÀstan alla MapReduce-uppgifter kan stöta pÄ en "flaskhals" vid lÀsning av data frÄn disken eller nÀtverket. Detta pÄpekas ocksÄ i Clouderas blogg. DÀrför, för alla snabba berÀkningar, inklusive genom Spark, som ofta anvÀnds för realtidsberÀkningar, Àr hastigheten pÄ in-/utmatning mycket viktigt. Det Àr dÀrför viktigt att klustret innehÄller balanserade och snabba maskiner, vilket medgivetvis inte alltid garanteras i molninfrastrukturen.

Balanseringen i belastningsfördelningen uppnÄs genom att anvÀnda OpenStack-virtualisering pÄ servrar med kraftfulla flerkÀrniga CPU:er. Dataknutarna tilldelas sina egna processorresurser och specifika diskar. I vÄr lösning Atos Codex Data Lake Engine uppnÄs omfattande virtualisering, vilket ger oss fördelar bÄde i prestanda (pÄverkan frÄn det nÀtverksinfrastrukturen minimeras) och i TCO (överskott av fysiska servrar undviks).

Vad Àr speciellt med Cloudera och hur man arbetar med den
Vid anvÀndning av BullSequana S200-servrar uppnÄr vi en ganska jÀmn belastning, fri frÄn vissa flaskhalsar. I den minimi-konfiguration ingÄr 3 BullSequana S200-servrar, var och en med tvÄ JBOD, plus valfritt kopplade ytterligare S200 som innehÄller fyra dataknutar vardera. HÀr Àr ett exempel pÄ belastningen frÄn TeraGen-testet:

Vad Àr speciellt med Cloudera och hur man arbetar med den

Tester med olika datavolymer och replikationsvÀrden visar liknande resultat nÀr det gÀller belastningsfördelning mellan klustrets noder. Nedan visas en graf över diskÄtkomstfördelningen frÄn prestandatesterna.

Vad Àr speciellt med Cloudera och hur man arbetar med den

BerÀkningarna har genomförts baserat pÄ den minimala konfigurationen av 3 BullSequana S200-servrar. Den inkluderar 9 dataknutar och 3 huvudnoder samt reserverade virtuella maskiner för eventuellt skydd baserat pÄ OpenStack-virtualisering. Resultatet av TeraSort-testet: blockstorlek pÄ 512 MB med en replikationskoefficient av tre med kryptering tar 23,1 minuter.

Hur kan systemet utvidgas? För Data Lake Engine finns olika typer av utvidgningar tillgÀngliga:

  • Dataöverföringsnoder: för varje 40 TB nyttjandeutrymme
  • Analytiska noder med möjlighet för GPU-installation
  • Andra alternativ beroende pĂ„ affĂ€rsbehov (till exempel om du behöver Kafka och liknande)

Vad Àr speciellt med Cloudera och hur man arbetar med den

Atos Codex Data Lake Engine bestĂ„r av bĂ„de servrarna och den förinstallerade programvaran, inklusive Cloudera-paketet med licens; sjĂ€lva Hadoop, OpenStack med virtuella maskiner baserade pĂ„ RedHat Enterprise Linux-kĂ€rnan, datasĂ€kerhetssystem och backup (inklusive med hjĂ€lp av backup-nod och Cloudera BDR – Backup and Disaster Recovery). Atos Codex Data Lake Engine blev den första lösningen med virtualisering som certifierades. Cloudera.

Om du Àr intresserad av detaljer, svarar vi gÀrna pÄ dina frÄgor i kommentarerna.

KĂ€lla: habr.com

Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar đŸ”„ Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster