Apache Bigtop dhe zgjedhja e një shpërndarjeje Hadoop sot

Apache Bigtop dhe zgjedhja e një shpërndarjeje Hadoop sot

Ndoshta nuk është sekret që viti i kaluar ishte një vit ndryshimesh të mëdha për Apache Hadoop. Vitin e kaluar, Cloudera dhe Hortonworks u bashkuan (në thelb, blerja e kësaj të fundit), dhe Mapr, për shkak të problemeve serioze financiare, iu shit Hewlett Packard. Dhe nëse disa vite më parë, në rastin e instalimeve në ambiente, shpesh duhej të bëhej zgjedhja midis Cloudera dhe Hortonworks, sot, mjerisht, nuk e kemi këtë zgjedhje. Një surprizë tjetër ishte fakti që Cloudera njoftoi në shkurt të këtij viti se do të ndalonte lëshimin e asambleve binare të shpërndarjes së saj në depon publike, dhe ato tani janë të disponueshme vetëm përmes një abonimi me pagesë. Sigurisht, është ende e mundur të shkarkohen versionet më të fundit të CDH dhe HDP të lëshuara para fundit të vitit 2019, dhe mbështetja për to pritet për një deri në dy vjet. Por çfarë duhet bërë më pas? Për ata që kanë paguar më parë për një abonim, asgjë nuk ka ndryshuar. Dhe për ata që nuk duan të kalojnë në versionin me pagesë të shpërndarjes, por në të njëjtën kohë duan të jenë në gjendje të marrin versionet më të fundit të komponentëve të grupimit, si dhe arna dhe përditësime të tjera, ne kemi përgatitur këtë artikull. Në të do të shqyrtojmë opsionet e mundshme për të dalë nga kjo situatë.

Artikulli është më shumë një rishikim. Nuk do të përmbajë një krahasim të shpërndarjeve dhe një analizë të detajuar të tyre dhe nuk do të ketë receta për instalimin dhe konfigurimin e tyre. Çfarë do të ndodhë? Ne do të flasim shkurtimisht për një shpërndarje të tillë si Arenadata Hadoop, e cila me të drejtë meriton vëmendjen tonë për shkak të disponueshmërisë së saj, e cila është shumë e rrallë sot. Dhe më pas do të flasim për Vanilla Hadoop, kryesisht për mënyrën se si mund të "gatohet" duke përdorur Apache Bigtop. Gati? Atëherë mirë se vini në mace.

Arenadata Hadoop

Apache Bigtop dhe zgjedhja e një shpërndarjeje Hadoop sot

Ky është një komplet plotësisht i ri dhe, deri më tani, pak i njohur për shpërndarjen e zhvillimit të brendshëm. Për fat të keq, për momentin në Habré ka vetëm ky artikull.

Më shumë informacion mund të gjeni tek zyrtari Online projekti. Versionet më të fundit të shpërndarjes bazohen në Hadoop 3.1.2 për versionin 3 dhe 2.8.5 për versionin 2.

Informacioni rreth udhërrëfyesit mund të gjendet këtu.

Apache Bigtop dhe zgjedhja e një shpërndarjeje Hadoop sot
Ndërfaqja e menaxherit të grupit të të dhënave Arenadata

Produkti kryesor i Arenadata është Menaxher i grupit të të dhënave Arenadata (ADCM), i cili përdoret për të instaluar, konfiguruar dhe monitoruar zgjidhje të ndryshme softuerike të kompanisë. ADCM shpërndahet pa pagesë dhe funksionaliteti i tij zgjerohet duke shtuar paketa, të cilat janë një grup librash ansible. Paketat ndahen në dy lloje: ndërmarrje dhe komunitet. Këto të fundit janë në dispozicion për shkarkim falas nga faqja e internetit Arenadata. Është gjithashtu e mundur të zhvilloni paketën tuaj dhe ta lidhni atë me ADCM.

Për vendosjen dhe menaxhimin e Hadoop 3, një version i komunitetit i paketës ofrohet në lidhje me ADCM, por për Hadoop 2 ekziston vetëm Apache Ambari si alternativë. Sa i përket depove me paketa, ato janë të hapura për akses publik, ato mund të shkarkohen dhe instalohen në mënyrën e zakonshme për të gjithë komponentët e grupit. Në përgjithësi, shpërndarja duket shumë interesante. Jam i sigurt se do të ketë nga ata që janë mësuar me zgjidhje të tilla si Cloudera Manager dhe Ambari, dhe që do të pëlqejnë vetë ADCM. Për disa, do të jetë gjithashtu një plus i madh se shpërndarja të përfshira në regjistrin e softuerit për zëvendësimin e importit.

Nëse flasim për disavantazhet, ato do të jenë të njëjta si për të gjitha shpërndarjet e tjera Hadoop. Gjegjësisht:

  • E ashtuquajtura "mbyllje e shitësit". Duke përdorur shembujt e Cloudera dhe Hortonworks, ne kemi kuptuar tashmë se ekziston gjithmonë rreziku i ndryshimit të politikës së kompanisë.
  • Një vonesë e konsiderueshme pas Apache-së në rrjedhën e sipërme.

Vanilje Hadoop

Apache Bigtop dhe zgjedhja e një shpërndarjeje Hadoop sot

Siç e dini, Hadoop nuk është një produkt monolit, por, në fakt, një galaktikë e tërë shërbimesh rreth sistemit të tij të skedarëve të shpërndarë HDFS. Pak njerëz do të kenë mjaftueshëm një grup skedarësh. Disa kanë nevojë për Hive, të tjerë Presto, dhe më pas janë HBase dhe Phoenix; Spark përdoret gjithnjë e më shumë. Për orkestrimin dhe ngarkimin e të dhënave, ndonjëherë gjenden Oozie, Sqoop dhe Flume. Dhe nëse lind çështja e sigurisë, atëherë Kerberos në lidhje me Ranger vjen menjëherë në mendje.

Versionet binare të komponentëve Hadoop janë të disponueshme në faqen e internetit të secilit prej projekteve të ekosistemit në formën e tarballeve. Mund t'i shkarkoni dhe të filloni instalimin, por me një kusht: përveç montimit të pavarur të paketave nga binarët "të papërpunuar", gjë që ka shumë të ngjarë të dëshironi të bëni, nuk do të keni asnjë besim në pajtueshmërinë e versioneve të shkarkuara të komponentëve me secilin tjera. Opsioni i preferuar është ndërtimi duke përdorur Apache Bigtop. Bigtop do t'ju lejojë të ndërtoni nga depo Apache maven, të kryeni teste dhe të ndërtoni paketa. Por, ajo që është shumë e rëndësishme për ne, Bigtop do të mbledhë ato versione të komponentëve që do të jenë në përputhje me njëri-tjetrin. Ne do të flasim për të më në detaje më poshtë.

Apache Bigtop

Apache Bigtop dhe zgjedhja e një shpërndarjeje Hadoop sot

Apache Bigtop është një mjet për ndërtimin, paketimin dhe testimin e një numri të
projekte me burim të hapur, si Hadoop dhe Greenplum. Bigtop ka shumë
lëshon. Në kohën e shkrimit, lëshimi i fundit i qëndrueshëm ishte versioni 1.4,
dhe në master ishte 1.5. Versione të ndryshme të lëshimeve përdorin versione të ndryshme
komponentët. Për shembull, për 1.4 komponentët bazë Hadoop kanë versionin 2.8.5, dhe në master
2.10.0. Përbërja e komponentëve të mbështetur po ndryshon gjithashtu. Diçka e vjetëruar dhe
i pari i rinovueshëm largohet dhe në vend të tij vjen diçka e re, më e kërkuar dhe
nuk është domosdoshmërisht diçka nga vetë familja Apache.

Përveç kësaj, Bigtop ka shumë pirunët.

Kur filluam të njiheshim me Bigtop, në radhë të parë u befasuam nga modestia e tij, në krahasim me projektet e tjera të Apache, përhapja dhe popullariteti, si dhe një komunitet shumë i vogël. Nga kjo rezulton se ka informacion minimal për produktin, dhe kërkimi i zgjidhjeve për problemet që kanë lindur në forume dhe listat e postimeve mund të mos japë fare asgjë. Në fillim, doli të ishte një detyrë e vështirë për ne që të përfundonim montimin e plotë të shpërndarjes për shkak të veçorive të vetë mjetit, por ne do të flasim për këtë pak më vonë.

Si ngacmues, ata që dikur ishin të interesuar për projekte të tilla të universit Linux si Gentoo dhe LFS mund ta kenë nostalgjikisht të këndshme të punojnë me këtë gjë dhe të kujtojnë ato kohë "epike" kur ne vetë po kërkonim (ose edhe po shkruanim) ndërton dhe rindërton rregullisht Mozilla me arna të reja.

Avantazhi i madh i Bigtop është hapja dhe shkathtësia e mjeteve mbi të cilat bazohet. Ai bazohet në Gradle dhe Apache Maven. Gradle është mjaft i njohur si mjeti që Google përdor për të ndërtuar Android. Është fleksibël dhe, siç thonë ata, "i testuar në betejë". Maven është një mjet standard për ndërtimin e projekteve në vetë Apache, dhe meqenëse shumica e produkteve të tij lëshohen përmes Maven, nuk mund të bëhej pa të as këtu. Vlen t'i kushtohet vëmendje POM (modeli i objektit të projektit) - skedari "themelor" xml që përshkruan gjithçka që është e nevojshme që Maven të punojë me projektin tuaj, rreth të cilit është ndërtuar e gjithë puna. Pikërisht në
pjesë të Maven dhe ka disa pengesa që zakonisht hasin përdoruesit për herë të parë Bigtop.

Praktikë

Pra, ku duhet të filloni? Shkoni në faqen e shkarkimit dhe shkarkoni versionin më të fundit të qëndrueshëm si arkiv. Ju gjithashtu mund të gjeni objekte binare të mbledhura nga Bigtop atje. Nga rruga, midis menaxherëve të zakonshëm të paketave, YUM dhe APT mbështeten.

Përndryshe, mund të shkarkoni versionin më të fundit të qëndrueshëm direkt nga
github:

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

Klonimi në “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
Получение объектов: 100% (40217/40217), 43.54 MiB | 1.05 MiB/s, готово.
Определение изменений: 100% (20503/20503), готово.
Updating files: 100% (1998/1998), готово.

Drejtoria që rezulton ./bigtop duket diçka si kjo:

./bigtop-bigpetstore — aplikacione demo, shembuj sintetikë
./bigtop-ci - Veglat CI, jenkins
./bigtop-data-generators — gjenerimi i të dhënave, sintetika, për testet e tymit, etj.
./bigtop-deploy - mjetet e vendosjes
./bigtop-packages — konfigurimet, skriptet, arna për montim, pjesa kryesore e mjetit
./bigtop-test-framework — korniza e testimit
./bigtop-tests — vetë testet, ngarkesa dhe tymi
./bigtop_toolchain — mjedisi për montim, përgatitja e mjedisit për funksionimin e mjetit
./build — ndërtoni direktoriumin e punës
./dl — drejtoria për burimet e shkarkuara
./docker — ndërtimi i imazheve docker, testimi
./gradle - konfigurimi i shkallës
./output – drejtoria ku shkojnë objektet e ndërtimit
./provisioner - sigurimi

Gjëja më interesante për ne në këtë fazë është konfigurimi kryesor ./bigtop/bigtop.bom, në të cilin shohim të gjithë komponentët e mbështetur me versione. Këtu mund të specifikojmë një version tjetër të produktit (nëse papritmas duam të përpiqemi ta ndërtojmë) ose një version ndërtimi (nëse, për shembull, kemi shtuar një patch të rëndësishëm).

Nëndirektoria është gjithashtu me interes të madh ./bigtop/bigtop-packages, e cila lidhet drejtpërdrejt me procesin e montimit të komponentëve dhe paketave me to.

Pra, e shkarkuam arkivin, e shpaketuam ose bëmë një klon nga github, a mund të fillojmë të ndërtojmë?

Jo, le të përgatisim mjedisin fillimisht.

Përgatitja e Mjedisit

Dhe këtu na duhet një tërheqje e vogël. Për të ndërtuar pothuajse çdo produkt pak a shumë kompleks, keni nevojë për një mjedis të caktuar - në rastin tonë, ky është JDK, të njëjtat biblioteka të përbashkëta, skedarë kokë, etj., Mjete, për shembull, ant, ivy2 dhe shumë më tepër. Një nga opsionet për të marrë mjedisin që ju nevojitet për Bigtop është instalimi i komponentëve të nevojshëm në hostin e ndërtimit. Mund të jem i gabuar në kronologji, por duket se me versionin 1.0 kishte gjithashtu një opsion për të ndërtuar imazhe të para-konfiguruara dhe të aksesueshme të Docker, të cilat mund të gjenden këtu.

Sa i përket përgatitjes së mjedisit, ekziston një asistent për këtë - Kukulla.

Ju mund të përdorni komandat e mëposhtme, të ekzekutuara nga direktoria rrënjësore
mjet, ./bigtop:

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

Ose direkt përmes kukullës:

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"

Fatkeqësisht, vështirësitë mund të lindin tashmë në këtë fazë. Këshilla e përgjithshme këtu është të përdorni një shpërndarje të mbështetur, të përditësuar në hostin e ndërtimit, ose të provoni rrugën e dokerit.

asamble

Çfarë mund të përpiqemi të mbledhim? Përgjigja për këtë pyetje do të jepet nga dalja e komandës

./gradlew tasks

Në seksionin e detyrave të paketës ka një sërë produktesh që janë artefakte përfundimtare të Bigtop.
Ato mund të identifikohen me prapashtesën -rpm ose -pkg-ind (në rastin e ndërtimit
në doker). Në rastin tonë, më interesantja është Hadoop.

Le të përpiqemi të ndërtojmë në mjedisin e serverit tonë të ndërtimit:

./gradlew hadoop-rpm

Vetë Bigtop do të shkarkojë burimet e nevojshme të nevojshme për një komponent specifik dhe do të fillojë montimin. Kështu, funksionimi i mjetit varet nga depot Maven dhe burime të tjera, domethënë kërkon qasje në internet.

Gjatë funksionimit, gjenerohet prodhimi standard. Ndonjëherë ai dhe mesazhet e gabimit mund t'ju ndihmojnë të kuptoni se çfarë shkoi keq. Dhe ndonjëherë ju duhet të merrni informacion shtesë. Në këtë rast ia vlen të shtohen argumente --info ose --debug, dhe gjithashtu mund të jetë i dobishëm –stacktrace. Ekziston një mënyrë e përshtatshme për të gjeneruar një grup të dhënash për akses të mëvonshëm në listat e postimeve, çelësi --scan.

Me ndihmën e tij, bigtop do të mbledhë të gjithë informacionin dhe do ta vendosë në gradle, pas së cilës do të sigurojë një lidhje,
duke ndjekur këtë, një person kompetent do të jetë në gjendje të kuptojë pse dështoi asambleja.
Ju lutemi kini parasysh se ky opsion mund të ekspozojë informacionin që nuk dëshironi, si emrat e përdoruesve, nyjet, variablat e mjedisit, etj., prandaj kini kujdes.

Shpesh gabimet janë pasojë e pamundësisë për të marrë ndonjë komponent të nevojshëm për montim. Në mënyrë tipike, mund ta rregulloni problemin duke krijuar një patch për të rregulluar diçka në burime, për shembull, adresat në pom.xml në direktorinë rrënjësore të burimeve. Kjo bëhet duke krijuar dhe vendosur atë në drejtorinë e duhur ./bigtop/bigtop-packages/src/common/oozie/ patch, për shembull, në formë patch2-fiks.ndryshim.

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

Me shumë mundësi, në kohën e leximit të këtij artikulli, nuk do t'ju duhet të bëni vetë rregullimin e mësipërm.

Kur futni ndonjë arnim dhe ndryshim në mekanizmin e montimit, mund t'ju duhet të "rivendosni" montimin duke përdorur komandën e pastrimit:

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

Ky operacion do të rikthejë të gjitha ndryshimet në montimin e këtij komponenti, pas së cilës montimi do të kryhet përsëri. Këtë herë do të përpiqemi ta ndërtojmë projektin në një imazh docker:

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

Ndërtimi është kryer nën CentOS, por mund të bëhet edhe nën Ubuntu:

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

Përveç ndërtimit të paketave për shpërndarje të ndryshme Linux, mjeti mund të krijojë një depo me paketa të përpiluara, për shembull:

./gradlew yum

Ju gjithashtu mund të mbani mend për testet e tymit dhe vendosjen në Docker.

Krijo një grup prej tre nyjesh:

./gradlew -Pnum_instances=3 docker-provisioner

Kryeni testet e tymit në një grup prej tre nyjesh:

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

Fshi një grup:

./gradlew docker-provisioner-destroy

Merrni komanda për lidhjen brenda kontejnerëve docker:

./gradlew docker-provisioner-ssh

Shfaq statusin:

./gradlew docker-provisioner-status

Mund të lexoni më shumë rreth detyrave të vendosjes në dokumentacion.

Nëse flasim për teste, ka një numër mjaft të madh të tyre, kryesisht tymi dhe integrimi. Analiza e tyre është përtej qëllimit të këtij artikulli. Më lejoni të them vetëm se montimi i një komplete shpërndarëse nuk është një detyrë aq e vështirë sa mund të duket në shikim të parë. Ne arritëm të montonim dhe të kalonim teste për të gjithë komponentët që përdorim në prodhimin tonë, dhe gjithashtu nuk patëm asnjë problem në vendosjen e tyre dhe kryerjen e operacioneve bazë në mjedisin e testimit.

Përveç komponentëve ekzistues në Bigtop, është e mundur të shtoni çdo gjë tjetër, madje edhe zhvillimin tuaj të softuerit. E gjithë kjo është plotësisht e automatizuar dhe përshtatet me konceptin CI/CD.

Përfundim

Natyrisht, shpërndarja e përpiluar në këtë mënyrë nuk duhet të dërgohet menjëherë në prodhim. Ju duhet të kuptoni se nëse ekziston një nevojë reale për të ndërtuar dhe mbështetur shpërndarjen tuaj, atëherë duhet të investoni para dhe kohë në këtë.

Sidoqoftë, në kombinim me qasjen e duhur dhe një ekip profesional, është mjaft e mundur të bëhet pa zgjidhje komerciale.

Është e rëndësishme të theksohet se vetë projekti Bigtop ka nevojë për zhvillim dhe nuk duket se po zhvillohet në mënyrë aktive sot. Perspektiva e shfaqjes së Hadoop 3 në të është gjithashtu e paqartë. Nga rruga, nëse keni një nevojë reale për të ndërtuar Hadoop 3, mund të shikoni pirun nga Arenadata, në të cilën, përveç standardit
Ka një numër komponentësh shtesë (Ranger, Knox, NiFi).

Sa për Rostelecom, për ne Bigtop është një nga opsionet që po shqyrtohet sot. Nëse do ta zgjedhim apo jo, koha do ta tregojë.

Shtojcë

Për të përfshirë një komponent të ri në asamble, duhet të shtoni përshkrimin e tij te bigtop.bom dhe ./bigtop-packages. Mund të përpiqeni ta bëni këtë në analogji me komponentët ekzistues. Mundohuni ta kuptoni. Nuk është aq e vështirë sa duket në shikim të parë.

Çfarë mendoni ju? Do të jemi të lumtur të shohim mendimin tuaj në komente dhe ju falënderojmë për vëmendjen tuaj!

Artikulli u përgatit nga ekipi i menaxhimit të të dhënave të Rostelecom

Burimi: www.habr.com

Shto një koment