Apache Bigtop ja Hadoop-jakelun valitseminen tänään

Apache Bigtop ja Hadoop-jakelun valitseminen tänään

Ei ole varmaankaan mikään salaisuus, että viime vuosi oli Apache Hadoopille suurten muutosten vuosi. Viime vuonna Cloudera ja Hortonworks sulautuivat (pääasiassa jälkimmäisen hankinta), ja Mapr myytiin vakavien taloudellisten ongelmien vuoksi Hewlett Packardille. Ja jos muutama vuosi aiemmin paikan päällä tehtävien asennuksien kohdalla jouduttiin usein valitsemaan Clouderan ja Hortonworksin välillä, nykyään meillä ei valitettavasti ole tätä vaihtoehtoa. Toinen yllätys oli se, että Cloudera ilmoitti tämän vuoden helmikuussa, että se lopettaa jakelunsa binäärikokoonpanojen julkaisemisen julkiseen arkistoon, ja ne ovat nyt saatavilla vain maksullisen tilauksen kautta. Tietysti on edelleen mahdollista ladata uusimmat CDH- ja HDP-versiot, jotka on julkaistu ennen vuoden 2019 loppua, ja tukea niille odotetaan yhdestä kahteen vuodeksi. Mutta mitä tehdä seuraavaksi? Niille, jotka ovat aiemmin maksaneet tilauksen, mikään ei ole muuttunut. Ja niille, jotka eivät halua vaihtaa jakelun maksulliseen versioon, mutta haluavat samalla saada uusimmat versiot klusterin komponenteista sekä korjaustiedostoja ja muita päivityksiä, olemme laatineet tämän artikkelin. Siinä pohdimme mahdollisia vaihtoehtoja tilanteesta selviämiseksi.

Artikkeli on enemmänkin arvostelu. Se ei sisällä jakelujen vertailua ja niiden yksityiskohtaista analyysiä, eikä niiden asentamiseen ja määrittämiseen ole reseptejä. Mitä tapahtuu? Puhumme lyhyesti sellaisesta jakelusta kuin Arenada Hadoop, joka ansaitsee oikeutetusti huomiomme sen saatavuuden vuoksi, joka on nykyään erittäin harvinainen. Ja sitten puhumme Vanilla Hadoopista, lähinnä siitä, kuinka se voidaan "keittää" Apache Bigtopilla. Valmis? Sitten tervetuloa kissalle.

Arenadata Hadoop

Apache Bigtop ja Hadoop-jakelun valitseminen tänään

Tämä on täysin uusi ja toistaiseksi vähän tunnettu kotimaisen kehityksen jakelusarja. Valitettavasti tällä hetkellä Habrélla on vain Tämä artikkeli.

Lisätietoja löytyy virkamieheltä Online hanke. Jakelun uusimmat versiot perustuvat Hadoop 3.1.2 -versioon 3 ja 2.8.5 versioon 2.

Tiekartasta löytyy tietoa täällä.

Apache Bigtop ja Hadoop-jakelun valitseminen tänään
Arenada-klusterin hallintaliittymä

Arenadatan ydintuote on Arenadata Cluster Manager (ADCM), jota käytetään erilaisten yritysohjelmistoratkaisujen asentamiseen, konfigurointiin ja valvontaan. ADCM jaetaan maksutta, ja sen toimintoja laajennetaan lisäämällä nippuja, jotka ovat mahdollisia pelikirjoja. Kimput on jaettu kahteen tyyppiin: yritys ja yhteisö. Viimeksi mainitut ovat ladattavissa ilmaiseksi Arenadata-verkkosivustolta. On myös mahdollista kehittää oma paketti ja liittää se ADCM:ään.

Hadoop 3:n käyttöönottoa ja hallintaa varten paketin yhteisöversio tarjotaan yhdessä ADCM:n kanssa, mutta Hadoop 2:lle on vain Apache Ambari vaihtoehtona. Mitä tulee paketteja sisältäviin arkistoihin, ne ovat avoimia yleisölle, ne voidaan ladata ja asentaa tavalliseen tapaan kaikille klusterin komponenteille. Kaiken kaikkiaan jakelu näyttää erittäin mielenkiintoiselta. Olen varma, että löytyy niitä, jotka ovat tottuneet sellaisiin ratkaisuihin kuin Cloudera Manager ja Ambari ja jotka pitävät ADCM:stä itsestään. Joillekin se on myös valtava plussa jakelusta mukana ohjelmistorekisterissä tuonnin korvaamiseksi.

Jos puhumme haitoista, ne ovat samat kuin kaikissa muissa Hadoop-jakeluissa. Nimittäin:

  • Niin sanottu "toimittajan lukitus". Clouderan ja Hortonworksin esimerkkien avulla olemme jo ymmärtäneet, että riski yrityksen politiikan muuttamisesta on aina olemassa.
  • Merkittävä jäljessä Apache ylävirtaan.

Vanilja Hadoop

Apache Bigtop ja Hadoop-jakelun valitseminen tänään

Kuten tiedät, Hadoop ei ole monoliittinen tuote, vaan itse asiassa kokonainen palveluvalikoima sen hajautetun tiedostojärjestelmän HDFS ympärillä. Harvalla ihmisellä on tarpeeksi yksi tiedostoklusteri. Jotkut tarvitsevat Hiven, toiset Presto, ja sitten on HBase ja Phoenix; Sparkia käytetään yhä enemmän. Orkestrointia ja tietojen lataamista varten löytyy joskus Oozie, Sqoop ja Flume. Ja jos turvallisuuskysymys nousee esiin, mieleen tulee heti Kerberos yhdessä Rangerin kanssa.

Hadoop-komponenttien binaariversiot ovat saatavilla kunkin ekosysteemiprojektin verkkosivustolta tarballina. Voit ladata ne ja aloittaa asennuksen, mutta yhdellä ehdolla: sen lisäksi, että kokoat paketteja itsenäisesti "raakoista" binääritiedostoista, minkä todennäköisesti haluat tehdä, sinulla ei ole mitään luottamusta ladattujen komponenttien versioiden yhteensopivuuteen kunkin kanssa. muu. Suositeltu vaihtoehto on rakentaa Apache Bigtopilla. Bigtopin avulla voit rakentaa Apache-maven-varastoista, suorittaa testejä ja rakentaa paketteja. Mutta mikä meille on erittäin tärkeää, Bigtop kokoaa ne versiot komponenteista, jotka ovat yhteensopivia keskenään. Puhumme siitä tarkemmin alla.

Apache Bigtop

Apache Bigtop ja Hadoop-jakelun valitseminen tänään

Apache Bigtop on työkalu useiden tuotteiden rakentamiseen, pakkaamiseen ja testaamiseen
avoimen lähdekoodin projekteja, kuten Hadoop ja Greenplum. Bigtopilla on paljon
julkaisut. Kirjoitushetkellä viimeisin vakaa julkaisu oli versio 1.4,
ja masterissa oli 1.5. Julkaisujen eri versiot käyttävät eri versioita
komponentit. Esimerkiksi versiolle 1.4 Hadoopin ydinkomponenttien versio on 2.8.5 ja pääversiossa
2.10.0. Myös tuettujen komponenttien koostumus muuttuu. Jotain vanhentunutta ja
uusiutumaton katoaa, ja sen tilalle tulee jotain uutta, enemmän kysyntää ja
se ei välttämättä ole jotain Apache-perheestä itsestään.

Lisäksi Bigtopilla on monia haarukat.

Kun aloimme tutustua Bigtopiin, yllätyimme ensinnäkin sen vaatimattomasta muihin Apache-projekteihin verrattuna yleisyydestä ja suosiosta sekä hyvin pienestä yhteisöstä. Tästä seuraa, että tuotteesta on vain vähän tietoa, eikä ratkaisujen etsiminen foorumeilta ja postituslistoilta ilmeneviin ongelmiin välttämättä tuo mitään. Aluksi meille osoittautui vaikeaksi suorittaa jakelun täydellinen kokoonpano itse työkalun ominaisuuksien vuoksi, mutta puhumme tästä hieman myöhemmin.

Teaserina, niille, jotka aikoinaan olivat kiinnostuneita sellaisista Linux-universumin projekteista kuin Gentoo ja LFS, saattaa olla nostalgisen miellyttävää työskennellä tämän asian parissa ja muistaa niitä "eeppisiä" aikoja, jolloin itse etsimme (tai jopa kirjoitimme) rakentaa uudelleen ja rakentaa säännöllisesti uudelleen Mozillaa uusilla korjaustiedostoilla.

Bigtopin suuri etu on sen perustana olevien työkalujen avoimuus ja monipuolisuus. Se perustuu Gradle- ja Apache Maveniin. Gradle tunnetaan varsin hyvin työkaluna, jota Google käyttää Androidin rakentamiseen. Se on joustava ja, kuten he sanovat, "taistelutestattu". Maven on vakiotyökalu itse Apache-projektien rakentamiseen, ja koska suurin osa sen tuotteista julkaistaan ​​Mavenin kautta, ilman sitä ei pärjäisi täälläkään. Kannattaa kiinnittää huomiota POM:iin (projektiobjektimalli) - "perustavalliseen" xml-tiedostoon, joka kuvaa kaiken, mitä Maven tarvitsee työskennelläkseen projektisi kanssa ja jonka ympärille kaikki työ on rakennettu. Juuri klo
Mavenin osia ja on joitain esteitä, joita ensimmäistä kertaa Bigtop-käyttäjät yleensä kohtaavat.

Käytäntö

Joten mistä sinun pitäisi aloittaa? Siirry lataussivulle ja lataa uusin vakaa versio arkistona. Löydät sieltä myös Bigtopin keräämiä binaarisia esineitä. Muuten, yleisistä paketinhaltijoista tuetaan YUM ja APT.

Vaihtoehtoisesti voit ladata uusimman vakaan julkaisun suoraan osoitteesta
github:

$ git clone --branch branch-1.4 https://github.com/apache/bigtop.git

Kloonaus "bigtopissa"…

remote: Enumerating objects: 46, done.
remote: Counting objects: 100% (46/46), done.
remote: Compressing objects: 100% (41/41), done.
remote: Total 40217 (delta 14), reused 10 (delta 1), pack-reused 40171
Получение объектов: 100% (40217/40217), 43.54 MiB | 1.05 MiB/s, готово.
Определение изменений: 100% (20503/20503), готово.
Updating files: 100% (1998/1998), готово.

Tuloksena oleva ./bigtop-hakemisto näyttää suunnilleen tältä:

./bigtop-bigpetstore — esittelysovellukset, synteettiset esimerkit
./bigtop-ci - CI-työkalut, jenkins
./bigtop-data-generators — tiedon tuottaminen, synteettiset materiaalit savutestejä varten jne.
./bigtop-deploy - käyttöönottotyökalut
./bigtop-packages — konfiguraatiot, skriptit, korjaustiedostot kokoonpanoa varten, työkalun pääosa
./bigtop-test-framework — testauskehys
./bigtop-tests — itse testit, kuorma ja savu
./bigtop_toolchain — ympäristö kokoonpanoa varten, ympäristön valmistelu työkalun toimintaa varten
./build - rakentaa työhakemistoa
./dl — hakemisto ladatuille lähteille
./docker — Docker-kuvien rakentaminen, testaus
./gradle - asteikkoasetukset
./output – hakemisto, johon rakennusartefaktit menevät
./provisioner - provisiointi

Mielenkiintoisin asia meille tässä vaiheessa on pääkonfiguraatio ./bigtop/bigtop.bom, jossa näemme kaikki tuetut komponentit versioineen. Tässä voimme määrittää tuotteen eri version (jos haluamme yhtäkkiä yrittää rakentaa sen) tai koontiversion (jos esimerkiksi lisäsimme merkittävän korjaustiedoston).

Myös alihakemisto kiinnostaa paljon ./bigtop/bigtop-packages, joka liittyy suoraan komponenttien ja pakettien kokoamisprosessiin niiden kanssa.

Joten, latasimme arkiston, purimme sen tai teimme kloonin githubista, voimmeko aloittaa rakentamisen?

Ei, valmistetaan ensin ympäristö.

Ympäristön valmistelu

Ja tässä me tarvitsemme pienen perääntymisen. Lähes minkä tahansa enemmän tai vähemmän monimutkaisen tuotteen rakentamiseen tarvitaan tietty ympäristö - meidän tapauksessamme tämä on JDK, samat jaetut kirjastot, otsikkotiedostot jne., työkalut, esimerkiksi ant, ivy2 ja paljon muuta. Yksi vaihtoehdoista saada Bigtopille tarvitsemasi ympäristö on asentaa tarvittavat komponentit koontipalvelimeen. Voin olla väärässä kronologiassa, mutta näyttää siltä, ​​että versiossa 1.0 oli myös mahdollisuus rakentaa valmiiksi määritettyjä ja käytettävissä olevia Docker-kuvia, jotka löytyvät täältä.

Mitä tulee ympäristön valmisteluun, tähän on avustaja - Puppet.

Voit käyttää seuraavia komentoja, jotka suoritetaan juurihakemistosta
työkalu, ./bigtop:

./gradlew toolchain
./gradlew toolchain-devtools
./gradlew toolchain-puppetmodules

Tai suoraan nuken kautta:

puppet apply --modulepath=<path_to_bigtop> -e "include bigtop_toolchain::installer"
puppet apply --modulepath=<path_to_bigtop> -e "include bigtop_toolchain::deployment-tools"
puppet apply --modulepath=<path_to_bigtop> -e "include bigtop_toolchain::development-tools"

Valitettavasti vaikeuksia voi ilmetä jo tässä vaiheessa. Yleisenä neuvona tässä on käyttää tuettua jakelua, joka on ajan tasalla koontiisännässä, tai kokeilla telakointireittiä.

kokoonpano

Mitä voimme yrittää kerätä? Vastauksen tähän kysymykseen antaa komennon tulos

./gradlew tasks

Pakettitehtävät-osiossa on useita tuotteita, jotka ovat Bigtopin lopullisia artefakteja.
Ne voidaan tunnistaa jälkiliitteestä -rpm tai -pkg-ind (rakennuksen tapauksessa
telakassa). Meidän tapauksessamme mielenkiintoisin on Hadoop.

Yritetään rakentaa rakennuspalvelimemme ympäristöön:

./gradlew hadoop-rpm

Bigtop itse lataa tietylle komponentille tarvittavat lähteet ja aloittaa kokoonpanon. Siten työkalun toiminta on riippuvainen Maven-varastoista ja muista lähteistä, eli se vaatii Internet-yhteyden.

Käytön aikana syntyy vakiolähtö. Joskus se ja virheilmoitukset voivat auttaa sinua ymmärtämään, mikä meni pieleen. Ja joskus sinun on hankittava lisätietoja. Tässä tapauksessa kannattaa lisätä argumentteja --info tai --debugja voi olla myös hyödyllistä –stacktrace. On kätevä tapa luoda tietojoukko myöhempää pääsyä varten postituslistoille, avain --scan.

Sen avulla bigtop kerää kaikki tiedot ja laittaa ne gradleen, jonka jälkeen se tarjoaa linkin,
jota seuraamalla pätevä henkilö voi ymmärtää, miksi kokoonpano epäonnistui.
Huomaa, että tämä vaihtoehto saattaa paljastaa tietoja, joita et halua, kuten käyttäjänimiä, solmuja, ympäristömuuttujia jne., joten ole varovainen.

Usein virheet johtuvat siitä, että kokoonpanoon tarvittavia komponentteja ei saada. Yleensä voit korjata ongelman luomalla korjaustiedoston, joka korjaa jotain lähteissä, esimerkiksi osoitteet pom.xml:ssä lähteiden juurihakemistossa. Tämä tehdään luomalla ja sijoittamalla se sopivaan hakemistoon ./bigtop/bigtop-packages/src/common/oozie/ patch esimerkiksi muodossa patch2-fix.diff.

--- a/pom.xml
+++ b/pom.xml
@@ -136,7 +136,7 @@
<repositories>
<repository>
<id>central</id>
- <url>http://repo1.maven.org/maven2</url>
+ <url>https://repo1.maven.org/maven2</url>
<snapshots>
<enabled>false</enabled>
</snapshots>

Todennäköisesti sinun ei tarvitse tehdä yllä olevaa korjausta tätä artikkelia lukiessasi.

Kun otat korjauksia ja muutoksia kokoonpanomekanismiin, saatat joutua "nollaamaan" kokoonpanon puhdistuskomennolla:

./gradlew hadoop-clean
> Task :hadoop_vardefines
> Task :hadoop-clean
BUILD SUCCESSFUL in 5s
2 actionable tasks: 2 executed

Tämä toiminto peruuttaa kaikki tämän komponentin kokoonpanoon tehdyt muutokset, minkä jälkeen kokoonpano suoritetaan uudelleen. Tällä kertaa yritämme rakentaa projektin docker-kuvaan:

./gradlew -POS=centos-7 -Pprefix=1.2.1 hadoop-pkg-ind
> Task :hadoop-pkg-ind
Building 1.2.1 hadoop-pkg on centos-7 in Docker...
+++ dirname ./bigtop-ci/build.sh
++ cd ./bigtop-ci/..
++ pwd
+ BIGTOP_HOME=/tmp/bigtop
+ '[' 6 -eq 0 ']'
+ [[ 6 -gt 0 ]]
+ key=--prefix
+ case $key in
+ PREFIX=1.2.1
+ shift
+ shift
+ [[ 4 -gt 0 ]]
+ key=--os
+ case $key in
+ OS=centos-7
+ shift
+ shift
+ [[ 2 -gt 0 ]]
+ key=--target
+ case $key in
+ TARGET=hadoop-pkg
+ shift
+ shift
+ [[ 0 -gt 0 ]]
+ '[' -z x ']'
+ '[' -z x ']'
+ '[' '' == true ']'
+ IMAGE_NAME=bigtop/slaves:1.2.1-centos-7
++ uname -m
+ ARCH=x86_64
+ '[' x86_64 '!=' x86_64 ']'
++ docker run -d bigtop/slaves:1.2.1-centos-7 /sbin/init
+
CONTAINER_ID=0ce5ac5ca955b822a3e6c5eb3f477f0a152cd27d5487680f77e33fbe66b5bed8
+ trap 'docker rm -f
0ce5ac5ca955b822a3e6c5eb3f477f0a152cd27d5487680f77e33fbe66b5bed8' EXIT
....
много вывода
....
Wrote: /bigtop/build/hadoop/rpm/RPMS/x86_64/hadoop-2.8.5-1.el7.x86_64.rpm
Wrote: /bigtop/build/hadoop/rpm/RPMS/x86_64/hadoop-hdfs-2.8.5-1.el7.x86_64.rpm
Wrote: /bigtop/build/hadoop/rpm/RPMS/x86_64/hadoop-yarn-2.8.5-1.el7.x86_64.rpm
Wrote: /bigtop/build/hadoop/rpm/RPMS/x86_64/hadoop-mapreduce-2.8.5-1.el7.x86_64.rpm
Wrote: /bigtop/build/hadoop/rpm/RPMS/x86_64/hadoop-hdfs-namenode-2.8.5-1.el7.x86_64.rpm
Wrote: /bigtop/build/hadoop/rpm/RPMS/x86_64/hadoop-hdfs-secondarynamenode-2.8.5-
1.el7.x86_64.rpm
Wrote: /bigtop/build/hadoop/rpm/RPMS/x86_64/hadoop-hdfs-zkfc-2.8.5-1.el7.x86_64.rpm
Wrote: /bigtop/build/hadoop/rpm/RPMS/x86_64/hadoop-hdfs-journalnode-2.8.5-
1.el7.x86_64.rpm
Wrote: /bigtop/build/hadoop/rpm/RPMS/x86_64/hadoop-hdfs-datanode-2.8.5-1.el7.x86_64.rpm
Wrote: /bigtop/build/hadoop/rpm/RPMS/x86_64/hadoop-httpfs-2.8.5-1.el7.x86_64.rpm
Wrote: /bigtop/build/hadoop/rpm/RPMS/x86_64/hadoop-yarn-resourcemanager-2.8.5-
1.el7.x86_64.rpm
Wrote: /bigtop/build/hadoop/rpm/RPMS/x86_64/hadoop-yarn-nodemanager-2.8.5-
1.el7.x86_64.rpm
Wrote: /bigtop/build/hadoop/rpm/RPMS/x86_64/hadoop-yarn-proxyserver-2.8.5-
1.el7.x86_64.rpm
Wrote: /bigtop/build/hadoop/rpm/RPMS/x86_64/hadoop-yarn-timelineserver-2.8.5-
1.el7.x86_64.rpm
Wrote: /bigtop/build/hadoop/rpm/RPMS/x86_64/hadoop-mapreduce-historyserver-2.8.5-
1.el7.x86_64.rpm
Wrote: /bigtop/build/hadoop/rpm/RPMS/x86_64/hadoop-client-2.8.5-1.el7.x86_64.rpm
Wrote: /bigtop/build/hadoop/rpm/RPMS/x86_64/hadoop-conf-pseudo-2.8.5-1.el7.x86_64.rpm
Wrote: /bigtop/build/hadoop/rpm/RPMS/x86_64/hadoop-doc-2.8.5-1.el7.x86_64.rpm
Wrote: /bigtop/build/hadoop/rpm/RPMS/x86_64/hadoop-libhdfs-2.8.5-1.el7.x86_64.rpm
Wrote: /bigtop/build/hadoop/rpm/RPMS/x86_64/hadoop-libhdfs-devel-2.8.5-1.el7.x86_64.rpm
Wrote: /bigtop/build/hadoop/rpm/RPMS/x86_64/hadoop-hdfs-fuse-2.8.5-1.el7.x86_64.rpm
Wrote: /bigtop/build/hadoop/rpm/RPMS/x86_64/hadoop-debuginfo-2.8.5-1.el7.x86_64.rpm
+ umask 022
+ cd /bigtop/build/hadoop/rpm//BUILD
+ cd hadoop-2.8.5-src
+ /usr/bin/rm -rf /bigtop/build/hadoop/rpm/BUILDROOT/hadoop-2.8.5-1.el7.x86_64
Executing(%clean): /bin/sh -e /var/tmp/rpm-tmp.uQ2FCn
+ exit 0
+ umask 022
Executing(--clean): /bin/sh -e /var/tmp/rpm-tmp.CwDb22
+ cd /bigtop/build/hadoop/rpm//BUILD
+ rm -rf hadoop-2.8.5-src
+ exit 0
[ant:touch] Creating /bigtop/build/hadoop/.rpm
:hadoop-rpm (Thread[Task worker for ':',5,main]) completed. Took 38 mins 1.151 secs.
:hadoop-pkg (Thread[Task worker for ':',5,main]) started.
> Task :hadoop-pkg
Task ':hadoop-pkg' is not up-to-date because:
Task has not declared any outputs despite executing actions.
:hadoop-pkg (Thread[Task worker for ':',5,main]) completed. Took 0.0 secs.
BUILD SUCCESSFUL in 40m 37s
6 actionable tasks: 6 executed
+ RESULT=0
+ mkdir -p output
+ docker cp
ac46014fd9501bdc86b6c67d08789fbdc6ee46a2645550ff6b6712f7d02ffebb:/bigtop/build .
+ docker cp
ac46014fd9501bdc86b6c67d08789fbdc6ee46a2645550ff6b6712f7d02ffebb:/bigtop/output .
+ docker rm -f ac46014fd9501bdc86b6c67d08789fbdc6ee46a2645550ff6b6712f7d02ffebb
ac46014fd9501bdc86b6c67d08789fbdc6ee46a2645550ff6b6712f7d02ffebb
+ '[' 0 -ne 0 ']'
+ docker rm -f ac46014fd9501bdc86b6c67d08789fbdc6ee46a2645550ff6b6712f7d02ffebb
Error: No such container:
ac46014fd9501bdc86b6c67d08789fbdc6ee46a2645550ff6b6712f7d02ffebb
BUILD SUCCESSFUL in 41m 24s
1 actionable task: 1 executed

Rakennus tehtiin CentOS:lla, mutta sen voi tehdä myös Ubuntussa:

./gradlew -POS=ubuntu-16.04 -Pprefix=1.2.1 hadoop-pkg-ind

Sen lisäksi, että työkalu rakentaa paketteja eri Linux-jakeluille, se voi luoda arkiston käännetyistä paketeista, esimerkiksi:

./gradlew yum

Voit myös muistaa savutestit ja käyttöönoton Dockerissa.

Luo kolmen solmun klusteri:

./gradlew -Pnum_instances=3 docker-provisioner

Suorita savutestejä kolmen solmun klusterissa:

./gradlew -Pnum_instances=3 -Prun_smoke_tests docker-provisioner

Poista klusteri:

./gradlew docker-provisioner-destroy

Hanki komennot Docker-säilöjen yhdistämiseen:

./gradlew docker-provisioner-ssh

Näytä tila:

./gradlew docker-provisioner-status

Voit lukea lisää käyttöönottotehtävistä dokumentaatiosta.

Jos puhumme testeistä, niitä on melko paljon, pääasiassa savua ja integraatiota. Heidän analyysinsä ei kuulu tämän artikkelin piiriin. Haluan vain sanoa, että jakelusarjan kokoaminen ei ole niin vaikea tehtävä kuin miltä ensi silmäyksellä näyttää. Saimme koota ja läpäistä testit kaikille tuotannossamme käyttämillemme komponenteille, eikä meillä myöskään ollut ongelmia niiden käyttöönotossa ja perustoimintojen suorittamisessa testiympäristössä.

Bigtopin olemassa olevien komponenttien lisäksi on mahdollista lisätä mitä tahansa muuta, jopa omaa ohjelmistokehitystä. Kaikki tämä on täysin automatisoitua ja sopii CI/CD-konseptiin.

Johtopäätös

Ilmeisesti tällä tavalla koottua jakelua ei pidä lähettää heti tuotantoon. Sinun on ymmärrettävä, että jos on todellinen tarve rakentaa ja tukea jakeluasi, sinun on investoitava siihen rahaa ja aikaa.

Yhdessä oikean lähestymistavan ja ammattitaitoisen tiimin kanssa on kuitenkin täysin mahdollista tulla toimeen ilman kaupallisia ratkaisuja.

On tärkeää huomata, että Bigtop-projekti itsessään on kehittämisen tarpeessa, eikä sitä näytä olevan aktiivisesti kehitetty nykyään. Hadoop 3:n esiintyminen siinä on myös epäselvä. Muuten, jos sinulla on todellinen tarve rakentaa Hadoop 3, voit katsoa haarukka Arenadatasta, jossa standardin lisäksi
Lisäkomponentteja on useita (Ranger, Knox, NiFi).

Mitä tulee Rostelecomiin, meille Bigtop on yksi tänään harkittavista vaihtoehdoista. Valitsemmeko sen vai emme, aika näyttää.

Liite

Jos haluat sisällyttää kokoonpanoon uuden komponentin, sinun on lisättävä sen kuvaus tiedostoihin bigtop.bom ja ./bigtop-packages. Voit yrittää tehdä tämän analogisesti olemassa olevien komponenttien kanssa. Yritä selvittää se. Se ei ole niin vaikeaa kuin miltä ensi silmäyksellä näyttää.

Mitä mieltä sinä olet? Näemme mielellämme mielipiteesi kommenteissa ja kiitos huomiostasi!

Artikkelin on laatinut Rostelecomin tiedonhallintatiimi

Lähde: will.com

Lisää kommentti