De merk foar ferspraat Computing en grutte data, neffens
Wêrom hawwe wy ferdield komputer nedich yn gewoane bedriuwen? Alles is ienfâldich en yngewikkeld tagelyk. Ienfâldich - om't wy yn 'e measte gefallen relatyf ienfâldige berekkeningen per ienheid fan ynformaasje útfiere. Moeilik - om't d'r in protte fan sokke ynformaasje is. Safolle. As gefolch, men moat
Ien resint foarbyld: Dodo Pizza
In oar foarbyld:
Tool seleksje
De yndustrystandert foar dit soarte fan komputer is Hadoop. Wêrom? Om't Hadoop in treflik, goed dokumintearre ramt is (deselde Habr jout in protte detaillearre artikels oer dit ûnderwerp), dat wurdt begelaat troch in hiele set fan nutsbedriuwen en biblioteken. Jo kinne enoarme sets fan sawol strukturearre as net-strukturearre gegevens as ynfier yntsjinje, en it systeem sels sil se fersprieden tusken komputerkrêft. Boppedat kinne dizze deselde kapasiteiten op elk momint wurde ferhege of útskeakele - deselde horizontale skalberens yn aksje.
Yn 2017, it ynfloedrike konsultaasjebedriuw Gartner
Hadoop rêst op ferskate pylders, wêrfan de meast opfallende MapReduce-technologyen binne (in systeem foar it fersprieden fan gegevens foar berekkeningen tusken servers) en it HDFS-bestânsysteem. Dat lêste is spesifyk ûntworpen om ynformaasje te bewarjen ferdield tusken klusterknooppunten: elk blok fan in fêste grutte kin op ferskate knopen pleatst wurde, en troch replikaasje is it systeem resistint foar mislearrings fan yndividuele knopen. Ynstee fan in triemtafel wurdt in spesjale tsjinner mei de namme NameNode brûkt.
De yllustraasje hjirûnder lit sjen hoe't MapReduce wurket. Yn 'e earste faze wurde de gegevens ferdield neffens in beskate attribút, yn' e twadde etappe wurdt it ferdield troch berekkeningskrêft, yn 'e tredde etappe fynt de berekkening plak.
MapReduce waard oarspronklik makke troch Google foar de behoeften fan har sykjen. Doe gie MapReduce yn frije koade, en Apache naam it projekt oer. No, Google migrearre stadichoan nei oare oplossingen. In nijsgjirrige nuânse: op it stuit hat Google in projekt neamd Google Cloud Dataflow, gepositioneerd as de folgjende stap nei Hadoop, as syn rappe ferfanging.
In tichterby besjen lit sjen dat Google Cloud Dataflow basearre is op in fariaasje fan Apache Beam, wylst Apache Beam it goed dokuminteare Apache Spark-ramt omfettet, wêrtroch't wy prate kinne oer hast deselde snelheid fan útfiering fan oplossing. No, Apache Spark wurket goed op it HDFS-bestânsysteem, wêrtroch jo it kinne ynsette op Hadoop-tsjinners.
Foegje hjir it folume fan dokumintaasje en klearmakke oplossingen foar Hadoop en Spark tsjin Google Cloud Dataflow ta, en de kar fan ark wurdt fanselssprekkend. Boppedat kinne yngenieurs sels beslute hokker koade - ûnder Hadoop of Spark - se sille útfiere, rjochte op 'e taak, ûnderfining en kwalifikaasjes.
Wolk of lokale server
De trend nei de algemiene oergong nei de wolk hat sels oanlieding jûn ta sa'n nijsgjirrige term as Hadoop-as-a-service. Yn sa'n senario is de administraasje fan ferbûne servers heul wichtich wurden. Om't, helaas, nettsjinsteande syn populariteit, pure Hadoop in nochal lestich ark is om te konfigurearjen, om't jo in protte mei de hân moatte dwaan. Jo kinne bygelyks servers yndividueel konfigurearje, har prestaasjes kontrolearje en in protte parameters fine. Yn 't algemien wurkje foar in amateur en d'r is in grutte kâns om earne op te skuorren of wat te missen.
Dêrom binne ferskate distribúsjes tige populêr wurden, dy't yn earste ynstânsje binne foarsjoen fan handige ynset- en administraasjeark. Ien fan 'e populêrste distribúsjes dy't Spark stipet en dingen maklik makket is Cloudera. It hat sawol betelle as fergese ferzjes - en yn 'e lêste is alle haadfunksjes beskikber, en sûnder it oantal knopen te beheinen.
Tidens de opset sil Cloudera Manager fia SSH ferbine mei jo servers. In nijsgjirrich punt: by it ynstallearjen is it better om oan te jaan dat it wurdt útfierd troch de saneamde pakjes: spesjale pakketten, elk fan dat befettet alle nedige komponinten konfigurearre om te wurkjen mei elkoar. Yn feite is dit sa'n ferbettere ferzje fan 'e pakketbehearder.
Nei ynstallaasje krije wy in klusterbehearkonsole, wêr't jo telemetry kinne sjen foar klusters, ynstalleare tsjinsten, plus jo kinne boarnen tafoegje / fuortsmite en de klusterkonfiguraasje bewurkje.
As resultaat ferskynt it snijen fan dy raket foar jo, wat jo nei de ljochte takomst fan BigData bringt. Mar foardat wy sizze "litte wy gean", litte wy fluch foarút ûnder de motorkap.
hardware easken
Op har webside neamt Cloudera ferskate mooglike konfiguraasjes. De algemiene prinsipes wêrmei't se binne boud wurde yn 'e yllustraasje werjûn:
MapReduce kin dizze optimistyske ôfbylding wazigje. Sjoch nochris nei it diagram yn 'e foarige paragraaf, wurdt dúdlik dat yn hast alle gefallen in MapReduce-taak in knypepunt kin reitsje by it lêzen fan gegevens fan skiif of netwurk. Dit wurdt ek opmurken op it Cloudera-blog. As gefolch, foar alle rappe berekkeningen, ynklusyf fia Spark, dy't faak wurdt brûkt foar real-time berekkeningen, is I / O-snelheid heul wichtich. Dêrom, by it brûken fan Hadoop, is it heul wichtich dat lykwichtige en snelle masines yn 'e kluster komme, dy't, om it mild te sizzen, net altyd yn' e wolkynfrastruktuer wurdt levere.
Balâns yn load distribúsje wurdt berikt troch it brûken fan Openstack virtualization op servers mei krêftige multi-core CPUs. Gegevensknooppunten wurde har eigen prosessorboarnen en bepaalde skiven tawiisd. Yn ús oplossing Atos Codex Data Lake Engine brede virtualisaasje wurdt berikt, dat is wêrom wy winne sawol yn termen fan prestaasjes (de ynfloed fan it netwurk ynfrastruktuer wurdt minimalisearre) en TCO (ekstra fysike tsjinners wurde eliminearre).
Yn it gefal fan it brûken fan BullSequana S200-tsjinners krije wy in heul unifoarme lading, sûnder guon fan 'e knipepunten. De minimale konfiguraasje omfettet 3 BullSequana S200-tsjinners, elk mei twa JBOD's, plus ekstra S200's mei fjouwer gegevensknooppunten binne opsjoneel ferbûn. Hjir is in foarbyld fan lading yn in TeraGen-test:
Tests mei ferskate gegevensvoluminten en replikaasjewearden litte deselde resultaten sjen yn termen fan loadferdieling oer klusterknooppunten. Hjirûnder is in grafyk fan 'e ferdieling fan skiiftagong troch prestaasjestests.
Berekkeningen binne basearre op in minimum konfiguraasje fan 3 BullSequana S200 servers. It omfettet 9 gegevensknooppunten en 3 masterknooppunten, lykas reservearre firtuele masines yn gefal fan ynset fan beskerming basearre op OpenStack Virtualization. TeraSort-testresultaat: 512 MB blokgrutte fan in replikaasjefaktor fan trije mei fersifering is 23,1 minuten.
Hoe kin it systeem útwreide wurde? Ferskate soarten tafoegings binne beskikber foar de Data Lake Engine:
- Gegevensknooppunten: foar elke 40 TB brûkbere romte
- Analytyske knopen mei de mooglikheid om in GPU te ynstallearjen
- Oare opsjes ôfhinklik fan saaklike behoeften (bygelyks as jo Kafka en sa nedich binne)
It kompleks Atos Codex Data Lake Engine befettet sawol de servers sels as foarôf ynstalleare software, ynklusyf de Cloudera-kit mei in lisinsje; Hadoop sels, OpenStack mei firtuele masines basearre op de RedHat Enterprise Linux kernel, gegevensreplikaasje en backupsystemen (ynklusyf it brûken fan in reservekopyknooppunt en Cloudera BDR - Reservekopy en rampherstel). Atos Codex Data Lake Engine is de earste virtualisaasjeoplossing dy't sertifisearre wurdt
As jo ynteressearre binne yn 'e details, sille wy graach ús fragen beantwurdzje yn' e kommentaren.
Boarne: www.habr.com