DroÅ”i vien nav noslÄpums, ka pagÄjuÅ”ais gads Apache Hadoop bija lielu pÄrmaiÅu gads. PagÄjuÅ”ajÄ gadÄ Cloudera un Hortonworks apvienojÄs (bÅ«tÄ«bÄ pÄdÄjÄ iegÄde), un Mapr nopietnu finansiÄlu problÄmu dÄļ tika pÄrdots Hewlett Packard. Un, ja dažus gadus iepriekÅ” lokÄlo instalÄciju gadÄ«jumÄ bieži bija jÄizdara izvÄle starp Cloudera un Hortonworks, Å”odien diemžÄl mums Å”Ädas izvÄles nav. VÄl viens pÄrsteigums bija fakts, ka Cloudera Å”Ä gada februÄrÄ« paziÅoja, ka pÄrtrauks izlaist tÄs izplatÄ«Å”anas binÄros komplektus publiskajÄ repozitorijÄ, un tagad tie ir pieejami tikai ar maksas abonementu. Protams, joprojÄm ir iespÄjams lejupielÄdÄt jaunÄkÄs CDH un HDP versijas, kas izlaistas lÄ«dz 2019. gada beigÄm, un to atbalsts ir paredzÄts vienu lÄ«dz divus gadus. Bet ko darÄ«t tÄlÄk? Tiem, kas iepriekÅ” maksÄja par abonementu, nekas nav mainÄ«jies. Un tiem, kuri nevÄlas pÄrslÄgties uz maksas distribÅ«cijas versiju, bet tajÄ paÅ”Ä laikÄ vÄlas saÅemt jaunÄkÄs klasteru komponentu versijas, kÄ arÄ« ielÄpus un citus atjauninÄjumus, esam sagatavojuÅ”i Å”o rakstu. TajÄ mÄs apsvÄrsim iespÄjamÄs iespÄjas, kÄ izkļūt no Ŕīs situÄcijas.
Raksts drÄ«zÄk ir apskats. TajÄ nebÅ«s izplatÄ«jumu salÄ«dzinÄjuma un detalizÄtas to analÄ«zes, kÄ arÄ« nebÅ«s recepÅ”u to instalÄÅ”anai un konfigurÄÅ”anai. Kas notiks? MÄs Ä«si runÄsim par tÄdu izplatÄ«Å”anu kÄ Arenadata Hadoop, kas pamatoti ir pelnÄ«jis mÅ«su uzmanÄ«bu, pateicoties tÄ pieejamÄ«bai, kas mÅ«sdienÄs ir ļoti reti sastopama. Un tad mÄs runÄsim par Vanilla Hadoop, galvenokÄrt par to, kÄ to var āpagatavotā, izmantojot Apache Bigtop. Vai esat gatavs? Tad laipni lÅ«dzam kaÄ·Ä«.
Arenadata Hadoop
Å is ir pilnÄ«gi jauns un pagaidÄm mazpazÄ«stams vietÄjÄs attÄ«stÄ«bas izplatÄ«Å”anas komplekts. DiemžÄl Å”obrÄ«d uz HabrĆ© ir tikai
PlaÅ”Äku informÄciju var atrast oficiÄlajÄ vietnÄ
InformÄciju par ceļa karti var atrast
Arenadata klastera pÄrvaldnieka saskarne
Arenadata pamatprodukts ir
Hadoop 3 izvietoÅ”anai un pÄrvaldÄ«bai komplekta kopienas versija tiek piedÄvÄta kopÄ ar ADCM, taÄu Hadoop 2 ir pieejama tikai
Ja mÄs runÄjam par trÅ«kumiem, tie bÅ«s tÄdi paÅ”i kÄ visiem citiem Hadoop izplatÄ«jumiem. Proti:
- TÄ sauktÄ āpÄrdevÄja bloÄ·ÄÅ”anaā. Izmantojot Cloudera un Hortonworks piemÄrus, mÄs jau esam sapratuÅ”i, ka vienmÄr pastÄv risks mainÄ«t uzÅÄmuma politiku.
- IevÄrojama atpalicÄ«ba no Apache augÅ”tecÄ.
Vaniļas Hadoop
KÄ zinÄms, Hadoop nav monolÄ«ts produkts, bet patiesÄ«bÄ vesela pakalpojumu plejÄde ap tÄs izplatÄ«to failu sistÄmu HDFS. Tikai dažiem cilvÄkiem pietiks ar vienu failu kopu. Dažiem ir nepiecieÅ”ams Hive, citiem Presto, un tad ir HBase un Phoenix; Spark tiek izmantots arvien vairÄk. OrÄ·estrÄÅ”anai un datu ielÄdei dažreiz tiek atrasti Oozie, Sqoop un Flume. Un, ja rodas jautÄjums par droŔību, tad uzreiz nÄk prÄtÄ Kerberos savienojumÄ ar Ranger.
Hadoop komponentu binÄrÄs versijas ir pieejamas katra ekosistÄmas projekta vietnÄ tarballu veidÄ. Varat tos lejupielÄdÄt un sÄkt instalÄÅ”anu, taÄu ar vienu nosacÄ«jumu: papildus pakotÅu neatkarÄ«gai salikÅ”anai no āneapstrÄdÄtiemā binÄriem failiem, ko jÅ«s, visticamÄk, vÄlaties darÄ«t, jums nebÅ«s pÄrliecÄ«bas par lejupielÄdÄto komponentu versiju savietojamÄ«bu ar katru. cits. VÄlamÄ iespÄja ir veidot, izmantojot Apache Bigtop. Bigtop ļaus jums veidot no Apache maven krÄtuvÄm, palaist testus un veidot pakotnes. Bet, kas mums ir ļoti svarÄ«gi, Bigtop saliks tÄs komponentu versijas, kas bÅ«s savietojamas viena ar otru. TÄlÄk mÄs par to runÄsim sÄ«kÄk.
Apache Bigtop
Apache Bigtop ir rÄ«ks, lai izveidotu, iepakotu un pÄrbaudÄ«tu vairÄkus
atvÄrtÄ pirmkoda projekti, piemÄram, Hadoop un Greenplum. Bigtop ir daudz
izlaidumi. RakstÄ«Å”anas laikÄ jaunÄkÄ stabilÄ versija bija 1.4,
un meistarÄ bija 1.5. DažÄdÄs izlaidumu versijÄs tiek izmantotas dažÄdas versijas
sastÄvdaļas. PiemÄram, versijai 1.4 Hadoop pamata komponentiem ir versija 2.8.5 un galvenÄ versija
2.10.0. MainÄs arÄ« atbalstÄ«to komponentu sastÄvs. Kaut kas novecojis un
neatjaunojamais iet prom, un tÄ vietÄ nÄk kaut kas jauns, pieprasÄ«tÄks, un
tas ne vienmÄr ir kaut kas no paÅ”as Apache Ä£imenes.
TurklÄt Bigtop ir daudz
Kad sÄkÄm iepazÄ«ties ar Bigtop, mÅ«s pirmÄm kÄrtÄm pÄrsteidza tÄ pieticÄ«gÄ, salÄ«dzinÄjumÄ ar citiem Apache projektiem, izplatÄ«ba un popularitÄte, kÄ arÄ« ļoti mazÄ kopiena. No tÄ izriet, ka informÄcija par produktu ir minimÄla, un, meklÄjot risinÄjumus problÄmÄm, kas raduÅ”Äs forumos un adresÄtu sarakstos, var nebÅ«t neko. SÄkumÄ mums izrÄdÄ«jÄs sarežģīts uzdevums pabeigt distribÅ«cijas pilnÄ«gu montÄžu paÅ”a rÄ«ka Ä«paŔību dÄļ, taÄu mÄs par to runÄsim nedaudz vÄlÄk.
Tiem, kas savulaik interesÄjuÅ”ies par tÄdiem Linux visuma projektiem kÄ Gentoo un LFS, var Ŕķist nostalÄ£iski patÄ«kami strÄdÄt ar Å”o lietu un atcerÄties tos āepiskosā laikus, kad mÄs paÅ”i meklÄjÄm (vai pat rakstÄ«jÄm) pÄrbÅ«vÄ un regulÄri pÄrbÅ«vÄ Mozilla ar jauniem ielÄpiem.
Bigtop lielÄ priekÅ”rocÄ«ba ir tÄ pamatÄ esoÅ”o rÄ«ku atvÄrtÄ«ba un daudzpusÄ«ba. Tas ir balstÄ«ts uz Gradle un Apache Maven. Gradle ir diezgan labi pazÄ«stams kÄ rÄ«ks, ko Google izmanto Android izveidei. Tas ir elastÄ«gs un, kÄ saka, "pÄrbaudÄ«ts kaujÄ". Maven ir standarta rÄ«ks projektu veidoÅ”anai paÅ”Ä Apache, un, tÄ kÄ lielÄkÄ daļa tÄ produktu tiek izlaisti caur Maven, bez tÄ arÄ« Å”eit nevarÄtu iztikt. Ir vÄrts pievÄrst uzmanÄ«bu POM (projekta objekta modelim) - āfundamentÄlajamā xml failam, kas apraksta visu, kas nepiecieÅ”ams, lai Maven strÄdÄtu ar jÅ«su projektu, ap kuru tiek veidots viss darbs. TieÅ”i plkst
Maven daļas un ir daži ŔķÄrŔļi, ar kuriem parasti saskaras pirmie Bigtop lietotÄji.
Prakse
TÄtad, kur jums vajadzÄtu sÄkt? Dodieties uz lejupielÄdes lapu un lejupielÄdÄjiet jaunÄko stabilo versiju kÄ arhÄ«vu. Tur varat atrast arÄ« Bigtop savÄktos binÄros artefaktus. Starp citu, starp parastajiem pakotÅu pÄrvaldniekiem tiek atbalstÄ«ti YUM un APT.
Varat arÄ« lejupielÄdÄt jaunÄko stabilo versiju tieÅ”i no
github:
$ git clone --branch branch-1.4 https://github.com/apache/bigtop.git
KlonÄÅ”ana ālielajÄ topÄāā¦
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), Š³Š¾ŃŠ¾Š²Š¾.
IegÅ«tais ./bigtop direktorijs izskatÄs apmÄram Å”Ädi:
./bigtop-bigpetstore
ā demonstrÄcijas lietojumprogrammas, sintÄtiskie piemÄri
./bigtop-ci
- CI instrumenti, jenkins
./bigtop-data-generators
ā datu Ä£enerÄÅ”ana, sintÄtika, dÅ«mu testiem utt.
./bigtop-deploy
- izvietoŔanas rīki
./bigtop-packages
ā konfigurÄcijas, skripti, montÄžas ielÄpi, rÄ«ka galvenÄ daļa
./bigtop-test-framework
ā testÄÅ”anas sistÄma
./bigtop-tests
ā paÅ”i testi, slodze un dÅ«mi
./bigtop_toolchain
ā vide montÄžai, darba vides sagatavoÅ”ana instrumentam darbam
./build
- izveidot darba direktoriju
./dl
ā lejupielÄdÄto avotu direktorijs
./docker
ā Docker attÄlu veidoÅ”ana, testÄÅ”ana
./gradle
- pakÄpes konfigurÄcija
./output
- direktorijs, kurÄ atrodas bÅ«vÄÅ”anas artefakti
./provisioner
ā nodroÅ”inÄjums
VisinteresantÄkÄ lieta mums Å”ajÄ posmÄ ir galvenÄ konfigurÄcija ./bigtop/bigtop.bom
, kurÄ mÄs redzam visus atbalstÄ«tos komponentus ar versijÄm. Å eit mÄs varam norÄdÄ«t citu produkta versiju (ja pÄkÅ”Åi vÄlamies mÄÄ£inÄt to izveidot) vai bÅ«vÄjuma versiju (ja, piemÄram, esam pievienojuÅ”i nozÄ«mÄ«gu ielÄpu).
Lielu interesi rada arī apakŔdirektorijs ./bigtop/bigtop-packages
, kas ir tieÅ”i saistÄ«ts ar komponentu un iepakojumu komplektÄÅ”anas procesu ar tiem.
TÄtad, mÄs lejupielÄdÄjÄm arhÄ«vu, izpakojÄm to vai izveidojÄm klonu no github, vai varam sÄkt veidot?
NÄ, vispirms sagatavosim vidi.
Vides sagatavoŔana
Un Å”eit mums ir vajadzÄ«ga neliela atkÄpÅ”anÄs. Lai izveidotu gandrÄ«z jebkuru vairÄk vai mazÄk sarežģītu produktu, ir nepiecieÅ”ama noteikta vide - mÅ«su gadÄ«jumÄ tÄ ir JDK, tÄs paÅ”as koplietotÄs bibliotÄkas, galvenes faili utt., rÄ«ki, piemÄram, ant, ivy2 un daudz kas cits. Viena no iespÄjÄm, kÄ iegÅ«t Bigtop nepiecieÅ”amo vidi, ir instalÄt nepiecieÅ”amos komponentus bÅ«vÄÅ”anas resursdatorÄ. Es varÄtu kļūdÄ«ties hronoloÄ£ijÄ, bet Ŕķiet, ka ar versiju 1.0 bija arÄ« iespÄja iebÅ«vÄt iepriekÅ” konfigurÄtus un pieejamus Docker attÄlus, kurus var atrast Å”eit.
RunÄjot par vides sagatavoÅ”anu, tam ir palÄ«gs - Lelle.
Varat izmantot Å”Ädas komandas, palaist no saknes direktorija
instruments, ./bigtop:
./gradlew toolchain
./gradlew toolchain-devtools
./gradlew toolchain-puppetmodules
Vai tieŔi, izmantojot lelli:
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"
DiemžÄl jau Å”ajÄ posmÄ var rasties grÅ«tÄ«bas. VispÄrÄ«gs padoms Å”eit ir izmantot atbalstÄ«tu izplatÄ«Å”anu, kas ir atjauninÄta bÅ«vÄÅ”anas resursdatorÄ, vai izmÄÄ£inÄt docker marÅ”rutu.
MontÄža
Ko mÄs varam mÄÄ£inÄt savÄkt? Atbildi uz Å”o jautÄjumu sniegs komandas izvade
./gradlew tasks
SadaÄ¼Ä Pakotnes uzdevumi ir vairÄki produkti, kas ir Bigtop galÄ«gie artefakti.
Tos var identificÄt pÄc sufiksa -rpm vai -pkg-ind (Äkas gadÄ«jumÄ
dokerÄ). MÅ«su gadÄ«jumÄ visinteresantÄkais ir Hadoop.
MÄÄ£inÄsim izveidot mÅ«su bÅ«vÄÅ”anas servera vidÄ:
./gradlew hadoop-rpm
Bigtop pats lejupielÄdÄs konkrÄtam komponentam nepiecieÅ”amos avotus un sÄks montÄžu. TÄdÄjÄdi rÄ«ka darbÄ«ba ir atkarÄ«ga no Maven krÄtuvÄm un citiem avotiem, tas ir, tam ir nepiecieÅ”ama piekļuve internetam.
DarbÄ«bas laikÄ tiek Ä£enerÄta standarta izvade. Dažreiz tas un kļūdu ziÅojumi var palÄ«dzÄt saprast, kas nogÄja greizi. Un dažreiz jums ir jÄiegÅ«st papildu informÄcija. Å ajÄ gadÄ«jumÄ ir vÄrts pievienot argumentus --info
vai --debug
un var bÅ«t arÄ« noderÄ«gi āstacktrace
. Ir Ärts veids, kÄ Ä£enerÄt datu kopu turpmÄkai piekļuvei adresÄtu sarakstiem, atslÄga --scan
.
Ar tÄs palÄ«dzÄ«bu bigtop apkopos visu informÄciju un ievietos to gradle, pÄc tam sniegs saiti,
pÄc kuriem kompetenta persona varÄs saprast, kÄpÄc montÄža neizdevÄs.
LÅ«dzu, Åemiet vÄrÄ, ka Ŕī opcija var atklÄt informÄciju, kuru jÅ«s nevÄlaties, piemÄram, lietotÄjvÄrdus, mezglus, vides mainÄ«gos utt., tÄpÄc esiet piesardzÄ«gs.
Bieži kļūdas rodas tÄdÄļ, ka nav iespÄjams iegÅ«t montÄžai nepiecieÅ”amÄs sastÄvdaļas. Parasti problÄmu var novÄrst, izveidojot ielÄpu, lai kaut ko labotu avotos, piemÄram, adreses pom.xml avota saknes direktorijÄ. Tas tiek darÄ«ts, izveidojot un ievietojot to attiecÄ«gajÄ direktorijÄ ./bigtop/bigtop-packages/src/common/oozie/
plÄksteris, piemÄram, formÄ 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>
VisticamÄk, Ŕī raksta lasÄ«Å”anas laikÄ jums paÅ”am nebÅ«s jÄveic iepriekÅ”minÄtais labojums.
IevieÅ”ot montÄžas mehÄnisma ielÄpus un izmaiÅas, iespÄjams, vajadzÄs āatiestatÄ«tā montÄžu, izmantojot tÄ«rÄ«Å”anas komandu:
./gradlew hadoop-clean
> Task :hadoop_vardefines
> Task :hadoop-clean
BUILD SUCCESSFUL in 5s
2 actionable tasks: 2 executed
Å Ä« darbÄ«ba atcels visas Ŕī komponenta montÄžas izmaiÅas, un pÄc tam montÄža tiks veikta vÄlreiz. Å oreiz mÄs mÄÄ£inÄsim izveidot projektu docker attÄlÄ:
./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
BÅ«vÄÅ”ana tika veikta ar CentOS, bet to var veikt arÄ« Ubuntu:
./gradlew -POS=ubuntu-16.04 -Pprefix=1.2.1 hadoop-pkg-ind
Papildus pakotÅu veidoÅ”anai dažÄdiem Linux izplatÄ«jumiem, rÄ«ks var izveidot repozitoriju ar apkopotÄm pakotnÄm, piemÄram:
./gradlew yum
Varat arÄ« atcerÄties par dÅ«mu testiem un izvietoÅ”anu programmÄ Docker.
Izveidojiet trīs mezglu kopu:
./gradlew -Pnum_instances=3 docker-provisioner
Veiciet dūmu testus trīs mezglu klasterī:
./gradlew -Pnum_instances=3 -Prun_smoke_tests docker-provisioner
DzÄst kopu:
./gradlew docker-provisioner-destroy
Iegūstiet komandas docker konteineru savienoŔanai:
./gradlew docker-provisioner-ssh
RÄdÄ«t statusu:
./gradlew docker-provisioner-status
VairÄk par izvietoÅ”anas uzdevumiem varat lasÄ«t dokumentÄcijÄ.
Ja runÄjam par testiem, tad to ir diezgan liels skaits, galvenokÄrt dÅ«mi un integrÄcija. ViÅu analÄ«ze ir Ärpus Ŕī raksta darbÄ«bas jomas. Ä»aujiet man tikai teikt, ka izplatÄ«Å”anas komplekta salikÅ”ana nav tik grÅ«ts uzdevums, kÄ varÄtu Ŕķist no pirmÄ acu uzmetiena. Mums izdevÄs samontÄt un nokÄrtot testus visiem komponentiem, ko izmantojam savÄ ražoÅ”anÄ, un mums arÄ« nebija problÄmu ar to izvietoÅ”anu un pamata darbÄ«bu veikÅ”anu testa vidÄ.
Papildus Bigtop esoÅ”ajÄm sastÄvdaļÄm ir iespÄjams pievienot jebko citu, pat savu programmatÅ«ras izstrÄdi. Tas viss ir lieliski automatizÄts un iekļaujas CI/CD koncepcijÄ.
SecinÄjums
AcÄ«mredzot Å”ÄdÄ veidÄ sastÄdÄ«to izplatÄ«Å”anas paketi nevajadzÄtu nekavÄjoties nosÅ«tÄ«t uz ražoÅ”anu. Jums ir jÄsaprot, ka, ja ir reÄla vajadzÄ«ba izveidot un atbalstÄ«t savu izplatÄ«Å”anu, jums tajÄ jÄiegulda nauda un laiks.
TaÄu kombinÄcijÄ ar pareizo pieeju un profesionÄlu komandu pilnÄ«gi iespÄjams iztikt bez komerciÄliem risinÄjumiem.
Ir svarÄ«gi atzÄ«mÄt, ka pats Bigtop projekts ir jÄattÄ«sta, un Ŕķiet, ka Å”odien tas netiek aktÄ«vi attÄ«stÄ«ts. ArÄ« Hadoop 3 parÄdÄ«Å”anÄs iespÄja tajÄ nav skaidra. Starp citu, ja jums ir patiesa nepiecieÅ”amÄ«ba izveidot Hadoop 3, varat apskatÄ«t
Ir vairÄki papildu komponenti (Ranger, Knox, NiFi).
Kas attiecas uz Rostelecom, mums Bigtop ir viena no iespÄjÄm, kas tiek apsvÄrta Å”odien. NeatkarÄ«gi no tÄ, vai mÄs to izvÄlÄsimies, laiks rÄdÄ«s.
Pielikums
Lai komplektÄ iekļautu jaunu komponentu, tÄ apraksts jÄpievieno failiem bigtop.bom un ./bigtop-packages. Varat mÄÄ£inÄt to izdarÄ«t pÄc analoÄ£ijas ar esoÅ”ajiem komponentiem. MÄÄ£iniet to izdomÄt. Tas nav tik grÅ«ti, kÄ Å”Ä·iet no pirmÄ acu uzmetiena.
Ko tu domÄ? PriecÄsimies redzÄt jÅ«su viedokli komentÄros un pateicamies par uzmanÄ«bu!
Rakstu sagatavoja Rostelecom datu pÄrvaldÄ«bas komanda
Avots: www.habr.com