Po čemu je Cloudera posebna i kako je kuhati

Tržište za distribuirano računalstvo i velike podatke, prema statistika, raste 18-19% godišnje. To znači da pitanje odabira softvera za te svrhe ostaje relevantno. U ovom ćemo postu započeti s time zašto je potrebno distribuirano računalstvo, detaljnije ćemo govoriti o odabiru softvera, govoriti o korištenju Hadoopa pomoću Cloudere i na kraju govoriti o odabiru hardvera i kako on na različite načine utječe na performanse.

Po čemu je Cloudera posebna i kako je kuhati
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 obraditi terabajte podataka u 1000 niti. Stoga su slučajevi upotrebe prilično univerzalni: izračuni se mogu koristiti gdje god je potrebno uzeti u obzir velik broj metrika na još većem nizu podataka.

Jedan od novijih primjera: lanac pizzerija Dodo Pizza odlučan na temelju analize baze podataka o narudžbama kupaca, korisnici pri odabiru pizze s nasumičnim preljevom obično rade sa samo šest osnovnih skupova sastojaka plus nekoliko nasumičnih. U skladu s tim pizzerija je prilagodila nabavu. Osim toga, uspjela je bolje preporučiti dodatne proizvode ponuđene korisnicima tijekom faze naručivanja, što je povećalo profit.

Još jedan primjer: analiza artikala omogućila je H&M trgovini smanjenje asortimana u pojedinim trgovinama za 40%, uz zadržavanje razine prodaje. To je postignuto isključivanjem slabo prodavanih artikala, au izračunima je uzeta u obzir sezonalnost.

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 zaključioda će Hadoop uskoro zastarjeti. Razlog je prilično banalan: analitičari vjeruju da će tvrtke masovno migrirati u oblak jer će ondje moći plaćati koliko koriste računalne snage. Drugi važan faktor koji navodno može “pokopati” Hadoop je njegova brzina. Zato što su opcije kao što su Apache Spark ili Google Cloud DataFlow brže od MapReducea, koji je temelj Hadoopa.

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.

Po čemu je Cloudera posebna i kako je kuhati
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.

Po čemu je Cloudera posebna i kako je kuhati

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.

Po čemu je Cloudera posebna i kako je kuhati

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:

Po čemu je Cloudera posebna i kako je kuhati
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).

Po čemu je Cloudera posebna i kako je kuhati
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:

Po čemu je Cloudera posebna i kako je kuhati

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.

Po čemu je Cloudera posebna i kako je kuhati

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.)

Po čemu je Cloudera posebna i kako je kuhati

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 cloudera.

Ako vas zanimaju detalji, rado ćemo odgovoriti na naša pitanja u komentarima.

Izvor: www.habr.com

Dodajte komentar