Tržište za distribuirano računalstvo i velike podatke, prema
Zašto je distribuirano računalstvo potrebno u redovnom poslovanju? Ovdje je sve jednostavno i komplicirano u isto vrijeme. Jednostavno – jer u većini slučajeva izvodimo relativno jednostavne izračune po jedinici informacije. Teško je jer ima puno takvih informacija. Tako puno. Kao posljedica toga, potrebno je
Jedan od novijih primjera: lanac pizzerija Dodo Pizza
Još jedan primjer:
Izbor alata
Industrijski standard za ovu vrstu računalstva je Hadoop. Zašto? Budući da je Hadoop izvrstan, dobro dokumentiran okvir (isti Habr nudi mnogo detaljnih članaka o ovoj temi), koji je popraćen čitavim skupom uslužnih programa i biblioteka. Možete unijeti ogromne skupove i strukturiranih i nestrukturiranih podataka, a sustav će ih sam distribuirati između računalne snage. Štoviše, ti isti kapaciteti mogu se povećati ili onemogućiti u bilo kojem trenutku - ta ista horizontalna skalabilnost na djelu.
2017. godine utjecajna konzultantska tvrtka Gartner
Hadoop počiva na nekoliko stupova, od kojih su najznačajniji MapReduce tehnologije (sustav za distribuciju podataka za izračune između poslužitelja) i HDFS datotečni sustav. Potonji je posebno dizajniran za pohranjivanje informacija raspoređenih između čvorova klastera: svaki blok fiksne veličine može se postaviti na nekoliko čvorova, a zahvaljujući replikaciji, sustav je otporan na kvarove pojedinačnih čvorova. Umjesto tablice datoteka koristi se poseban poslužitelj nazvan NameNode.
Ilustracija u nastavku prikazuje kako funkcionira MapReduce. U prvoj fazi podaci se dijele prema određenom kriteriju, u drugoj fazi se distribuiraju prema računalnoj snazi, au trećoj fazi se vrši izračun.
MapReduce je izvorno stvorio Google za svoje potrebe pretraživanja. Zatim je MapReduce postao besplatni kod, a Apache je preuzeo projekt. Pa, Google je postupno prešao na druga rješenja. Zanimljiva sitnica: Google trenutno ima projekt pod nazivom Google Cloud Dataflow, pozicioniran kao sljedeći korak nakon Hadoopa, kao brzu zamjenu za njega.
Pažljiviji pogled pokazuje da se Google Cloud Dataflow temelji na varijaciji Apache Beama, dok Apache Beam uključuje dobro dokumentiran okvir Apache Spark, koji nam omogućuje da govorimo o gotovo istoj brzini izvršenja rješenja. Pa, Apache Spark savršeno radi na HDFS datotečnom sustavu, što mu omogućuje da se postavi na Hadoop poslužitelje.
Dodajte ovdje količinu dokumentacije i gotovih rješenja za Hadoop i Spark u odnosu na Google Cloud Dataflow i izbor alata postaje očit. Štoviše, inženjeri mogu sami odlučiti koji kod - za Hadoop ili Spark - trebaju pokrenuti, usredotočujući se na zadatak, iskustvo i kvalifikacije.
Cloud ili lokalni poslužitelj
Trend prema općem prijelazu na oblak čak je doveo do tako zanimljivog pojma kao što je Hadoop-as-a-service. U takvom scenariju, administracija povezanih poslužitelja postala je vrlo važna. Jer, nažalost, unatoč svojoj popularnosti, čisti Hadoop prilično je težak alat za konfiguriranje, budući da se puno toga mora raditi ručno. Na primjer, konfigurirajte poslužitelje pojedinačno, pratite njihovu izvedbu i pažljivo konfigurirajte mnoge parametre. Općenito, posao je amaterski i postoji velika mogućnost da negdje zabrljate ili nešto propustite.
Stoga su različiti distribucijski setovi, koji su u početku opremljeni praktičnim alatima za implementaciju i administraciju, postali vrlo popularni. Jedna od najpopularnijih distribucija koja podržava Spark i čini sve lakim je Cloudera. Ima plaćenu i besplatnu verziju - au potonjoj je dostupna sva osnovna funkcionalnost, bez ograničenja broja čvorova.
Tijekom postavljanja, Cloudera Manager će se putem SSH-a povezati s vašim poslužiteljima. Zanimljiva točka: prilikom ugradnje bolje je navesti da se provodi tzv parsele: posebni paketi, od kojih svaki sadrži sve potrebne komponente konfigurirane za međusobni rad. U biti ovo je poboljšana verzija upravitelja paketima.
Nakon instalacije dobivamo konzolu za upravljanje klasterom, gdje možete vidjeti telemetriju klastera, instalirane usluge, plus možete dodati/ukloniti resurse i urediti konfiguraciju klastera.
Kao rezultat, pred vama se pojavljuje kabina rakete koja će vas odvesti u svijetlu budućnost BigData. Ali prije nego što kažemo "idemo", idemo ispod haube.
Hardverski zahtjevi
Cloudera na svojoj web stranici spominje različite moguće konfiguracije. Opći principi po kojima su izgrađeni prikazani su na slici:
MapReduce može zamagliti ovu optimističnu sliku. Ako ponovno pogledate dijagram iz prethodnog odjeljka, postaje jasno da u gotovo svim slučajevima posao MapReduce može naići na usko grlo prilikom čitanja podataka s diska ili s mreže. To je također zabilježeno u Cloudera blogu. Kao rezultat toga, za sve brze izračune, uključujući i kroz Spark, koji se često koristi za izračune u stvarnom vremenu, I/O brzina je vrlo važna. Stoga je kod korištenja Hadoopa vrlo važno da klaster uključuje uravnotežene i brze strojeve, što, najblaže rečeno, nije uvijek osigurano u cloud infrastrukturi.
Ravnoteža u raspodjeli opterećenja postiže se korištenjem Openstack virtualizacije na poslužiteljima sa snažnim višejezgrenim procesorima. Podatkovnim čvorovima dodijeljeni su vlastiti resursi procesora i posebni diskovi. U našoj odluci Atos Codex Data Lake Engine Postiže se široka virtualizacija, zbog čega imamo koristi i u pogledu performansi (utjecaj mrežne infrastrukture je sveden na najmanju moguću mjeru) i u TCO (eliminirani su dodatni fizički poslužitelji).
Kada koristimo BullSequana S200 poslužitelje, dobivamo vrlo ujednačeno opterećenje, lišeno nekih uskih grla. Minimalna konfiguracija uključuje 3 poslužitelja BullSequana S200, svaki s dva JBOD-a, plus dodatni S200 koji sadrže četiri podatkovna čvora koji su po izboru povezani. Evo primjera opterećenja u TeraGen testu:
Testovi s različitim količinama podataka i vrijednostima replikacije pokazuju iste rezultate u pogledu raspodjele opterećenja između čvorova klastera. Ispod je grafikon distribucije pristupa disku prema testovima performansi.
Izračuni su obavljeni na temelju minimalne konfiguracije od 3 BullSequana S200 poslužitelja. Uključuje 9 podatkovnih čvorova i 3 glavna čvora, kao i rezervirana virtualna računala u slučaju postavljanja zaštite temeljene na OpenStack Virtualizaciji. Rezultat testa TeraSort: veličina bloka 512 MB faktor replikacije jednak tri s enkripcijom je 23,1 minuta.
Kako se sustav može proširiti? Postoje različite vrste proširenja dostupnih za Data Lake Engine:
- Podatkovni čvorovi: za svakih 40 TB korisnog prostora
- Analitički čvorovi s mogućnošću instaliranja GPU-a
- Ostale opcije ovisno o poslovnim potrebama (npr. ako trebate Kafku i sl.)
Atos Codex Data Lake Engine uključuje i same poslužitelje i unaprijed instalirani softver, uključujući licencirani Cloudera kit; Sam Hadoop, OpenStack s virtualnim strojevima koji se temelje na RedHat Enterprise Linux kernelu, replikaciji podataka i sustavima za sigurnosno kopiranje (uključujući korištenje rezervnog čvora i Cloudera BDR - Backup and Disaster Recovery). Atos Codex Data Lake Engine postao je prvo virtualizacijsko rješenje koje je certificirano
Ako vas zanimaju detalji, rado ćemo odgovoriti na naša pitanja u komentarima.
Izvor: www.habr.com