Apache Bigtop ja Hadoop'i jaotuse valik tÀna

Apache Bigtop ja Hadoop'i jaotuse valik tÀna

TĂ”enĂ€oliselt ei ĂŒllata see kedagi, et eelmine aasta oli Apache Hadoopile suurte muutuste aasta. Eelmisel aastal toimus Cloudera ja Hortonworksi ĂŒhinemine (praktiliselt teise omandamine), samas kui tĂ”siste rahasĂŒsteemide tĂ”ttu mĂŒĂŒdi Mapr Hewlett Packile. Kui paar aastat tagasi tehti on-premises installatsioonide puhul valik peamiselt Cloudera ja Hortonworksi vahel, siis tĂ€na on see valik, kahjuks, kadunud. Üllatusena kuulutas Cloudera alates tĂ€navu veebruarist, et lĂ”petab oma jaotuse binaartootmise avalikus hoidlas, ja need on nĂŒĂŒd saadaval vaid tasulise tellimuse alusel. Loomulikult on vĂ”imalik alla laadida viimased versioonid CDH-st ja HDP-st, mis on vĂ€lja antud 2019. aasta lĂ”puni, ja nende osas on eeldatav tugi ĂŒhe kuni kahe aasta jooksul. Kuid mis edasi saab? Nendel, kes varem maksid tellimuse eest, ei ole midagi muutunud. Ja neile, kes ei soovi minna tasulisele jaotusele, kuid tahavad siiski saada vĂ€rskeid komponente klastrile, samuti patĆĄide ja muude vĂ€rskendustega, oleme koostanud selle artikli. Sellest rÀÀgime vĂ”imalikest lahendustest tekkinud olukorrast.

Artikkel on rohkem ĂŒlevaatlik. Sellest ei tule jaotuste vĂ”rdlust ning nende pĂ”hjalikku analĂŒĂŒsi ega ka juhiseid nende paigaldamiseks ja seadistamiseks. Mis siis ikkagi tuleb? RÀÀkime lĂŒhidalt jaotusest Arenadata Hadoop, mis on Ă”igustatult meie tĂ€helepanu Ă€ra teeninud oma kergesti kĂ€ttesaadavuse tĂ”ttu, mis on tĂ€napĂ€eval haruldane. SeejĂ€rel rÀÀgime Vanilla Hadoopist, peamiselt sellest, kuidas seda saab 'valmistada' Apache Bigtopi abil. Kas olete valmis? Siis tere tulemast edasi.

Arenadata Hadoop

Apache Bigtop ja Hadoop'i jaotuse valik tÀna

See on tÀiesti uus ja seni veel vÀhe tuntud kodumaine jaotus. Kahjuks on hetkel Habr's sellest vaid. see artikkel.

Üksikasjalikumat teavet leiate ametlikult veebisaidil projektilt. Viimased versioonid jaotusest pĂ”hinevad Hadoop 3.1.2-l kolmele versioonile ja 2.8.5-le kahte versiooni.

Roadmap'i teavet saab leida siin.

Apache Bigtop ja Hadoop'i jaotuse valik tÀna
Arenadata Cluster Manageri liides

Arenadata peamine toode on Arenadata Cluster Manager (ADCM), mis kasutatakse erinevate tarkvaralahenduste paigaldamiseks, seadistamiseks ja jĂ€lgimiseks. ADCM on tasuta, kuid selle funktsionaalsust laiendatakse bundlite lisamisega, mis koosnevad ansible-playbookidest. Bundlid jagunevad kaheks: enterprise ja community. Viimased on tasuta allalaadimiseks saadaval Arenadata veebisaidilt. Samuti on vĂ”imalik arendada oma bundli ja ĂŒhendada see ADCM-iga.

Hadoop 3 jaoks pakutakse community-versiooni bundlist koos ADCM-iga, kuid Hadoop 2 jaoks on saadaval vaid Apache Ambari alternatiivina. Mis puudutab paketirepositoore, siis need on avatud avalikuks juurdepÀÀsuks, neid saab alla laadida ja paigaldada kĂ”ikidele klastrite komponentidele tuttaval viisil. Üldiselt nĂ€eb distributsioon ĂŒsna huvitav vĂ€lja. Olen kindel, et leidub inimesi, kes on harjunud selliste lahendustega nagu Cloudera Manager ja Ambari ning kellele ADCM meeldib. Paljude jaoks on suur pluss ka see, et distributsioon on tarkvararegistris importimislahenduste jaoks.

RÀÀgime miinustest, siis need on samad, mis kÔigi teiste Hadoopi distributsioonide puhul. Nendeks on:

  • Nii nimetatud „vendor lock-in”. Cloudera ja Hortonworksi kogemusest oleme juba aru saanud, et alati on olemas risk, et ettevĂ”tte poliitikat muudetakse.
  • Oluline mahajÀÀmus Apache allvoolust.

Vanilla Hadoop

Apache Bigtop ja Hadoop'i jaotuse valik tÀna

Kuidas teate, Hadoop ei ole monoliitne toode, vaid sisuliselt terve teenuste komplekt tema jaotatud failisĂŒsteemi HDFS ĂŒmber. Harvadel juhtudel piisab ĂŒksnes ĂŒhest failiklastrist. MĂ”ned vajavad Hive'i, teised Presto't, lisaks on olemas HBase ja Phoenix, jĂ€rjest sagedamini kasutatakse Spark'i. Andmete orkestreerimiseks ja laadimiseks kasutatakse vahel Ooziet, Sqoop'i ja Flume'i. Ja kui tekib kĂŒsimus turvalisuse tagamisest, siis meenub kohe Kerberos koos Ranger'iga.

Hadoopi komponentide binaarversioonid on saadaval iga ökosĂŒsteemi projekti veebilehelt tarball’idena. Neid saab alla laadida ja installimist alustada, kuid ĂŒhe tingimusega: peale pakettide iseseisva ĂŒlesehitamise „tooretest“ binaaridest, mida te tĂ”enĂ€oliselt soovite teha, ei saa te olla kindel, et allalaaditud komponentide versioonid omavahel ĂŒhilduvad. Eelistatum variant on ĂŒlesehitamine Apache Bigtopi abil. Bigtop vĂ”imaldab ehitada pakette Apache'i maven-hoidlatest, lĂ€bi viia teste ja koguda pakette. Mis meie jaoks vĂ€ga oluline, Bigtop kogub need komponentide versioonid, mis on omavahel ĂŒhilduvad. Sellest rÀÀgime lĂ€hemalt edasi.

Apache Bigtop

Apache Bigtop ja Hadoop'i jaotuse valik tÀna

Apache Bigtop on tööriist erinevate avatud lĂ€htekoodiga projektide, nĂ€iteks Hadoopi ja Greenplumi, ĂŒlesehitamiseks, pakettide loomiseks ja testimiseks. Bigtopil on mitmeid
vÀljalaskeid. Artikli kirjutamise ajal oli viimane stabiilne vÀljaanne versioon 1.4,
samal ajal kui master-is oli 1.5. Erinevates vÀljalaskeversioonides kasutatakse erinevaid versioone
komponentidest. NÀiteks versioonis 1.4 on Hadoopi pÔhikomponentide versioon 2.8.5, samas kui master-is on 2.10.0. Tugi komponentide koosseis muutub. Midagi, mis on vananenud ja
mitte uuendatav, kaob ja selle asemele tuleb midagi uut ja nÔudlikumat, ning
see ei pruugi tingimata olla Apache'i perekonnast.
Lisaks on Bigtopil mitmeid
fork'e.

Kui me Bigtopiga tutvumist alustasime, siis esmalt ĂŒllatas meid selle tagasihoidlik, vĂ”rreldes teiste Apache'i projektidega, levimus ja tuntus ning vĂ€ga vĂ€ike kogukond. Seega on toote kohta teabe leidmine minimaalne ja probleemide lahendamise otsimine foorumitest ja meiliringidest ei pruugi anda midagi. Alguses osutus tĂ€ieliku jaotuse kogumine selle tööriista eripĂ€rade tĂ”ttu meile keeruliseks, kuid sellest rÀÀgime pisut hiljem. Teaserina — neile, kellele on kunagi meeldinud sellised Linuxi universumi projektid nagu Gentoo ja LFS, vĂ”ib olla nostalgiat tekitav töötada selle asjaga ja meenutada neid „kangelaslikke“ aegu, kui me ise otsisime (vĂ”i isegi kirjutasime) ebuild’e ja kogusid regulaarselt uusi patĆĄe Mozilla jaoks..

Nostalgia

Kogumine

Bigtopi suurim eelis on selle tööriistade avatus ja universaalsus, millele see rajatud on. Selle aluseks on Gradle ja Apache Maven. Gradle on ĂŒsna tuntud tööriist, millega Google koostab Androidi. See on paindlik ning nagu öeldakse, "katsetatud lahingus". Maven on kehtiv projektide koostamise tööriist Apache'is ja kuna enamik selle tooteid vĂ€lja antakse just Maveniga, ei saa ka sellest mööda vaadata. Tasub tĂ€helepanu pöörata POM-ile (project object model) – "pĂ”hiline" XML-fail, mis kirjeldab kĂ”ike vajalikku Maveniga teie projekti töötamiseks, mille ĂŒmber kogu töö toimub. Just selles
Maveni osas tekivad mÔned takistused, millega tavaliselt kohtuvad esmakordselt Bigtopiga tegelema asuvad.

Praktika

Nii et, kust alustada? LĂ€heme allalaadimislehele ja laadime alla viimase stabiilse versiooni arhiivina. Sama lehelt leiab ka Bigtopiga loodud binaarfailid. Muide, tuntud paketihaldurite seas toetatakse YUM-i ja APT-d.

Alternatiivse meetodina saab alla laadida viimase stabiilse vÀljalaskmise otse
github:

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

Kloneerimine kausta "bigtop"


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
Objektide hankimine: 100% (40217/40217), 43.54 MiB | 1.05 MiB/s, valmis.
Muudatuste mÀÀramine: 100% (20503/20503), valmis.
Failide vÀrskendamine: 100% (1998/1998), valmis.

Valminud kataloog ./${bigtop} nÀeb umbes vÀlja selline:

.${bigtop}-bigpetstore — nĂ€idiste rakendused, sĂŒnteetilised nĂ€ited
.${bigtop}-ci — CI tööriistad, jenkins
.${bigtop}-data-generators — andmete genereerimine, sĂŒnteetika, smoke-testide jms jaoks.
.${bigtop}-deploy — rakendamise tööriistad
.${bigtop}-packages — konfiguratsioonid, skriptid, plaastrid koostamiseks, tööriista pĂ”hiosa
.${bigtop}-test-framework — testimisraamistik
.${bigtop}-tests — testid, koormuse ja smoke-testid
.${bigtop}_toolchain — ehituskeskkond, tööriista tööks ettevalmistamine
.${build} — koostamise töökaust
.${dl} — allalaaditud lĂ€htefailide kataloog
.${docker} — docker-piltides koostamine, testimine
.${gradle} — gradle konfiguratsioon
.${output} – kataloog, kuhu kogunevad koostamisartefaktid
.${provisioner} — provisioneerimine

Selles etapis on meie jaoks kÔige huvitavam pÔhikonfiguratsioon .${bigtop}/${bigtop}.bom, milles me nÀeme kÔiki toetatud komponente koos versioonidega. Just siin saame mÀÀrata mÔne teise toote versiooni (kui soovime seda proovida) vÔi kogumiversiooni (nÀiteks, kui oleme lisanud olulise plaastri).

Samuti tÔmbab tÀhelepanu alamkaust .\/bigtop\/bigtop-packages, mis on otseselt seotud komponentide ja nendega pakettide koostamise protsessiga.

Nii, me oleme allalaadinud arhiivi, lahanud selle lahti vÔi loonud klooni github'ist, saame alustada kokkupanekut?

Ei, kÔigepealt valmistame keskkonna ette.

Keskkonna ettevalmistamine

Ja siin on vajalik vĂ€ike kĂ”rvalepĂ”ige. Peaaegu iga keerukama toote koostamiseks on vajalik teatud keskkond — meie puhul on see JDK, samad jagatud raamatukogud, pealkirjafailid jne, tööriistad nagu ant, ivy2 ja palju muud. Üks viis saada vajalik Bigtopi keskkond on installida vajalikud komponendid koostamisserverisse. Ma vĂ”ib-olla eksin kronoloogias, kuid tundub, et alates versioonist 1.0 on ka olemas vĂ”imalus koostamiseks eelnevalt konfigureeritud ja kergesti kĂ€ttesaadavates docker-piltides, millega saab tutvuda siin.

Keskkonna ettevalmistamiseks on olemas abimees — Puppet.

Saame kasutada jÀrgmisi kÀsklusi, kÀivitamine toimub juurkataloogist
tööriista, .\/bigtop:

.\/gradlew toolchain\n.\/gradlew toolchain-devtools\n.\/gradlew toolchain-puppetmodules

VÔi otse puppet'i kaudu:

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

Kahjuks vĂ”ivad juba sel etapil tekkida keerukused. Üks ĂŒldine nĂ”uanne on kasutada toetatud ja ajakohastatud distributsiooni koostamisserveris vĂ”i proovida teed docker'iga.

Kogumine

Mida me siis proovida saame? Sellele kĂŒsimusele vastab kĂ€skluse vĂ€ljund

.\/gradlew tasks

Pakettide ĂŒlesannete jaotises on rida tooteid, mis on Bigtopi lĂ”ppartefaktid.
Nende mÀÀrab kindlaks sufiks -rpm vÔi -pkg-ind (koostamisel
docker'is). Meie puhul on kÔige huvitavam Hadoop.

Proovime koostada meie build-serveri keskkonnas:

.\/gradlew hadoop-rpm

Bigtop laadib alla vajalike allikate, mis on konkreetse komponendi jaoks vajalikud, ja alustab koostamist. Nii on tööriista funktsionaalsus seotud Maven'i ja teiste allikate repodega, seega vajab see juurdepÀÀsu Internetile.

Töötamise kÀigus genereeritakse standardne vÀljund. MÔnikord saab selle pÔhjal ja veateadete jÀrgi aru, mis valesti lÀks. Teinekord on aga vaja lisateavet. Sel juhul tuleks lisada argumendid --info vÔi --debug, samuti vÔib kasuks tulla --stacktrace. On mugav viis andmestiku koostamiseks edasiseks pöördumiseks postitusloendites, vÔti --scan.

Aitavad bigtop koguda kogu teabe ja salvestada gradle'i, pÀrast mida antakse link,
mille kaudu asjatundlik isik saab aru saada, miks koostamine ebaÔnnestus.
Tuleb meeles pidada, et see valik vÔib muuta avalikuks teile soovimatu teabe, nÀiteks kasutajanimed, sÔlmede nimed, keskkonnamuutujad jne, seega olge ettevaatlik.

Tihti on vead tingitud asjaolust, et mingite koostamiseks vajalike komponentide saamine on vÔimatu. Reeglina saab probleemi lahendada, luues patƥi, et midagi allikatest parandada, nÀiteks aadress pom.xml failis allika juurkataloogis. Seda tehakse luues ja paigutades selle vastavasse kataloogi .\/bigtop\/bigtop-packages\/src\/common\/oozie\/ patƥina, nÀiteks kujul patch2-fix.diff.

--- a\/pom.xml
+++ b\/pom.xml
@@ -136,7 +136,7 @@


central
- http:\/\/repo1.maven.org\/maven2
+ https:\/\/repo1.maven.org\/maven2

false

TÔenÀoliselt ei pea te antud parendust eespool kirjutatud artikli lugemise ajal ise tegema.

MÔningate patƥide ja paranduste rakendamisel vÔib osutuda vajalikuks "nullida" koostamine puhastamiskÀsklusega:

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

See operatsioon tagastab kÔik muudatused selle komponendi koostamises, pÀrast mida koostamine viiakse uuesti lÀbi. Seekord proovime projekti koostada docker-pildina:

.\/gradlew -POS=centos-7 -Pprefix=1.2.1 hadoop-pkg-ind
> Ülesanne :hadoop-pkg-ind
Koostatakse 1.2.1 hadoop-pkg centos-7 Dockeris...
+++ 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
+
KONTEINER_ID=0ce5ac5ca955b822a3e6c5eb3f477f0a152cd27d5487680f77e33fbe66b5bed8
+ trap 'docker rm -f
0ce5ac5ca955b822a3e6c5eb3f477f0a152cd27d5487680f77e33fbe66b5bed8' EXIT
....
rohke vÀljundit
....
Kirjutatud: \/bigtop\/build\/hadoop\/rpm\/RPMS\/x86_64\/hadoop-2.8.5-1.el7.x86_64.rpm
Kirjutatud: \/bigtop\/build\/hadoop\/rpm\/RPMS\/x86_64\/hadoop-hdfs-2.8.5-1.el7.x86_64.rpm
Kirjutatud: \/bigtop\/build\/hadoop\/rpm\/RPMS\/x86_64\/hadoop-yarn-2.8.5-1.el7.x86_64.rpm
Kirjutatud: \/bigtop\/build\/hadoop\/rpm\/RPMS\/x86_64\/hadoop-mapreduce-2.8.5-1.el7.x86_64.rpm
Kirjutatud: \/bigtop\/build\/hadoop\/rpm\/RPMS\/x86_64\/hadoop-hdfs-namenode-2.8.5-1.el7.x86_64.rpm
Kirjutatud: \/bigtop\/build\/hadoop\/rpm\/RPMS\/x86_64\/hadoop-hdfs-secondarynamenode-2.8.5-
1.el7.x86_64.rpm
Kirjutatud: \/bigtop\/build\/hadoop\/rpm\/RPMS\/x86_64\/hadoop-hdfs-zkfc-2.8.5-1.el7.x86_64.rpm
Kirjutatud: \/bigtop\/build\/hadoop\/rpm\/RPMS\/x86_64\/hadoop-hdfs-journalnode-2.8.5-
1.el7.x86_64.rpm
Kirjutatud: \/bigtop\/build\/hadoop\/rpm\/RPMS\/x86_64\/hadoop-hdfs-datanode-2.8.5-1.el7.x86_64.rpm
Kirjutatud: \/bigtop\/build\/hadoop\/rpm\/RPMS\/x86_64\/hadoop-httpfs-2.8.5-1.el7.x86_64.rpm
Kirjutatud: \/bigtop\/build\/hadoop\/rpm\/RPMS\/x86_64\/hadoop-yarn-resourcemanager-2.8.5-
1.el7.x86_64.rpm
Kirjutatud: \/bigtop\/build\/hadoop\/rpm\/RPMS\/x86_64\/hadoop-yarn-nodemanager-2.8.5-
1.el7.x86_64.rpm
Kirjutatud: \/bigtop\/build\/hadoop\/rpm\/RPMS\/x86_64\/hadoop-yarn-proxyserver-2.8.5-
1.el7.x86_64.rpm
Kirjutatud: \/bigtop\/build\/hadoop\/rpm\/RPMS\/x86_64\/hadoop-yarn-timelineserver-2.8.5-
1.el7.x86_64.rpm
Kirjutatud: \/bigtop\/build\/hadoop\/rpm\/RPMS\/x86_64\/hadoop-mapreduce-historyserver-2.8.5-
1.el7.x86_64.rpm
Kirjutatud: \/bigtop\/build\/hadoop\/rpm\/RPMS\/x86_64\/hadoop-client-2.8.5-1.el7.x86_64.rpm
Kirjutatud: \/bigtop\/build\/hadoop\/rpm\/RPMS\/x86_64\/hadoop-conf-pseudo-2.8.5-1.el7.x86_64.rpm
Kirjutatud: \/bigtop\/build\/hadoop\/rpm\/RPMS\/x86_64\/hadoop-doc-2.8.5-1.el7.x86_64.rpm
Kirjutatud: \/bigtop\/build\/hadoop\/rpm\/RPMS\/x86_64\/hadoop-libhdfs-2.8.5-1.el7.x86_64.rpm
Kirjutatud: \/bigtop\/build\/hadoop\/rpm\/RPMS\/x86_64\/hadoop-libhdfs-devel-2.8.5-1.el7.x86_64.rpm
Kirjutatud: \/bigtop\/build\/hadoop\/rpm\/RPMS\/x86_64\/hadoop-hdfs-fuse-2.8.5-1.el7.x86_64.rpm
Kirjutatud: \/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] Loome \/bigtop\/build\/hadoop\/.rpm
:hadoop-rpm (Thread[Task worker for ':',5,main]) lÔpetatud. Kestis 38 min 1.151 sek.
:hadoop-pkg (Thread[Task worker for ':',5,main]) kÀivitunud.
> Ülesanne :hadoop-pkg
Ülesanne ':hadoop-pkg' ei ole ajakohane, kuna:
Ülesanne ei ole kuulutanud mingeid vĂ€ljundeid, hoolimata tegevuste teostamisest.
:hadoop-pkg (Thread[Task worker for ':',5,main]) lÔpetatud. Kestis 0.0 sek.
EHITUS ÕNNESTUS 40m 37s
6 teostatavat ĂŒlesannet: 6 teostatud
+ 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
Viga: Konteinerit ei leitud:
ac46014fd9501bdc86b6c67d08789fbdc6ee46a2645550ff6b6712f7d02ffebb
EHITUS ÕNNESTUS 41m 24s
1 teostatav ĂŒlesanne: 1 teostatud

Kogumine tehti CentOS-i peale, kuid on vÔimalik teha ka Ubuntu peale:

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

Lisaks pakettide kogumisele erinevatele Linuxi distributsioonidele, suudab tööriist luua ka repository kogutud paketiga, nÀiteks:

.\/gradlew yum

Samuti vÔib meenutada smoke-test'e ja juurutamist dockeris.

Loo kluster kolmest sÔlmest:

.\/gradlew -Pnum_instances=3 docker-provisioner

KÀivita smoke-testid kolmes sÔlmes olevas klastris:

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

Kustuta kluster:

.\/gradlew docker-provisioner-destroy

Saa kÀsud docker-konteineritesse sisenemiseks:

.\/gradlew docker-provisioner-ssh

NĂ€ita olekut:

.\/gradlew docker-provisioner-status

Rohkem teavet juurutamise ĂŒlesannete kohta saab lugeda dokumentatsioonist.

Testide arvu osas on neid ĂŒsna palju, peamiselt smoke- ja integratsioonitestid. Nende analĂŒĂŒs jÀÀb kĂ€esolevast artiklist vĂ€lja. Ütlen vaid, et distributsiooni kogumine ei ole nii keeruline ĂŒlesanne, kui see esmapilgul nĂ€ida vĂ”ib. KĂ”ik komponendid, mida me enda tootmises kasutame, Ă”nnestus kokku panna ja testida, samuti ei olnud meil probleeme nende juurutamise ja baasoperatsioonide teostamisega testkeskkonnas.

Lisaks olemasolevatele komponentidele Bigtopis, on vÔimalik lisada ka midagi muud, isegi oma tarkvaraarendus. KÔik see automatiseeritakse suurepÀraselt ja sobib CI/CD kontseptsiooni.

KokkuvÔte

On ilmne, et sellisel viisil kokku pandud distributsiooni ei tohiks kohe tootmisse saata. Tuleb mÔista, et kui on reaalne vajadus oma distributsiooni kogumise ja hooldamise jÀrele, tuleb sellesse investeerida nii rahaliselt kui ajaliselt.

Siiski, Ôige lÀhenemise ja professionaalse meeskonnaga on tÀiesti vÔimalik lÀbi saada ka ilma kommertslahendusteta.

Oluline on mÀrkida, et Bigtopi projekt vajab arengut ja tundub, et praegu ei toimu selles aktiivset arendust. Samuti pole selge, millised on perspektiivid Hadoop 3 ilmnemiseks. Kui teil on reaalne vajadus Hadoop 3 kogumise jÀrele, vÔite vaadata fork Arenadata, kus lisaks tavakomponentidele
on veel terve rida tÀiendavaid (Ranger, Knox, NiFi).

Mis puutub Rostelekki, siis meie jaoks on Bigtop ĂŒks kaalutud variante tĂ€nasel pĂ€eval. Kas me valime seda vĂ”i mitte - nĂ€itab aeg.

Lisa

Uue komponendi lisamiseks kogumisse tuleb selle kirjeldus lisada bigtop.bom ja ./bigtop-packages. Proovige seda teha sarnaste komponentide pĂ”hjal. PĂŒĂŒdke aru saada. See pole nii keeruline, nagu esmapilgul tundub.

Kuidas teie arvate? Oleme rÔÔmsad, kui jagate oma arvamust kommentaarides ning aitÀh tÀhelepanu eest!

Artikli on koostanud Andmete Halduse Meeskond „Rostelecom“

Allikas: habr.com

Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid | ProHoster