Apache Bigtop a wielt haut eng Hadoop Verdeelung

Apache Bigtop a wielt haut eng Hadoop Verdeelung

Et ass wahrscheinlech kee Geheimnis datt d'lescht Joer e Joer vu groussen Ännerungen fir Apache Hadoop war. D'lescht Joer hunn Cloudera an Hortonworks fusionéiert (am Wesentlechen d'Acquisitioun vun der leschter), a Mapr, wéinst eeschte finanzielle Problemer, gouf un Hewlett Packard verkaaft. A wann e puer Joer virdrun, am Fall vun on-premises Installatiounen, oft de Choix tëscht Cloudera an Hortonworks misst gemaach ginn, haut, leider, hu mir dëse Choix net. Eng aner Iwwerraschung war d'Tatsaach datt Cloudera am Februar vun dësem Joer ugekënnegt huet datt et ophalen d'binär Versammlungen vu senger Verdeelung an den ëffentleche Repository ze verëffentlechen, a si sinn elo nëmmen duerch e bezuelten Abonnement verfügbar. Natierlech ass et nach ëmmer méiglech déi lescht Versioune vun CDH an HDP erofzelueden, déi virum Enn vum 2019 verëffentlecht goufen, an Ënnerstëtzung fir si gëtt fir een bis zwee Joer erwaart. Awer wat fir nächst ze maachen? Fir déi, déi virdru fir en Abonnement bezuelt hunn, huet sech näischt geännert. A fir déi, déi net wëllen op déi bezuelte Versioun vun der Verdeelung wiesselen, awer gläichzäiteg déi lescht Versioune vu Clusterkomponenten kréien, souwéi Patches an aner Updates, hu mir dësen Artikel virbereet. An et wäerte mir méiglech Optiounen betruecht fir aus dëser Situatioun erauszekommen.

Den Artikel ass méi eng Iwwerpréiwung. Et wäert kee Verglach vu Verdeelungen an eng detailléiert Analyse vun hinnen enthalen, an et gëtt keng Rezepter fir se z'installéieren an ze konfiguréieren. Wat wäert geschéien? Mir wäerte kuerz iwwer sou eng Verdeelung schwätzen wéi Arenadata Hadoop, déi mat Recht eis Opmierksamkeet verdéngt wéinst senger Disponibilitéit, déi haut ganz rar ass. An da schwätze mer iwwer Vanilla Hadoop, haaptsächlech iwwer wéi et mat Apache Bigtop "gekacht" ka ginn. Prett? Dann wëllkomm bei der Kaz.

Arenadata Hadoop

Apache Bigtop a wielt haut eng Hadoop Verdeelung

Dëst ass e komplett neien an, bis elo, wéineg bekannte Verdeelungskit vun der Heementwécklung. Leider gëtt et am Moment op Habré nëmmen dësen Artikel.

Méi Informatioune fannt Dir um offiziellen Site Projet. Déi lescht Versioune vun der Verdeelung baséieren op Hadoop 3.1.2 fir Versioun 3, an 2.8.5 fir Versioun 2.

Informatioun iwwer de Fahrplang kann fonnt ginn hei.

Apache Bigtop a wielt haut eng Hadoop Verdeelung
Arenadata Cluster Manager Interface

De Kärprodukt vum Arenadata ass Arenadata Cluster Manager (ADCM), déi benotzt gëtt fir verschidde Firmesoftwareléisungen z'installéieren, ze konfiguréieren an ze iwwerwaachen. ADCM gëtt gratis verdeelt, a seng Funktionalitéit gëtt erweidert andeems Bündelen bäigefüügt ginn, déi eng Rei vun ansible-Playbooks sinn. Bundles ginn an zwou Zorte opgedeelt: Entreprise a Gemeinschaft. Déi lescht sinn verfügbar fir gratis erofzelueden vun der Arenadata Websäit. Et ass och méiglech Ären eegene Bündel z'entwéckelen an et mat ADCM ze verbannen.

Fir Deployment a Management vun Hadoop 3 gëtt eng Gemeinschaftsversioun vum Bündel a Verbindung mat ADCM ugebueden, awer fir Hadoop 2 gëtt et nëmmen Apache Ambari als Alternativ. Wat d'Repositories mat Pakete ugeet, si si fir den ëffentlechen Zougank op, se kënnen op déi üblech Manéier fir all Komponente vum Cluster erofgeluede an installéiert ginn. Allgemeng gesäit d'Verdeelung ganz interessant aus. Ech si sécher datt et déi sinn, déi mat Léisunge wéi Cloudera Manager an Ambari gewinnt sinn, an déi ADCM selwer gär hunn. Fir e puer wäert et och e grousse Plus sinn datt d'Verdeelung am Software Register abegraff fir Import Substitutioun.

Wa mir iwwer d'Nodeeler schwätzen, wäerte se d'selwecht sinn wéi fir all aner Hadoop Verdeelungen. Nämlech:

  • De sougenannte "Vendor Lock-in". Mat de Beispiller vu Cloudera an Hortonworks hu mir scho gemierkt datt et ëmmer e Risiko ass fir d'Firma Politik ze änneren.
  • Bedeitend Lag hannert Apache Upstream.

Vanille Hadoop

Apache Bigtop a wielt haut eng Hadoop Verdeelung

Wéi Dir wësst, ass Hadoop keen monolithescht Produkt, awer tatsächlech eng ganz Galaxis vu Servicer ronderëm säi verdeelt Dateiesystem HDFS. Puer Leit wäerten genuch vun engem Fichier Cluster hunn. E puer brauchen Hive, anerer Presto, an da ginn et HBase a Phoenix Spark gëtt ëmmer méi benotzt. Fir d'Orchestratioun an d'Datebelaaschtung, Oozie, Sqoop a Flume ginn heiansdo fonnt. A wann d'Fro vun der Sécherheet entsteet, da kënnt Kerberos a Verbindung mam Ranger direkt an de Kapp.

Binär Versioune vun Hadoop Komponenten sinn op der Websäit vun jiddereng vun den Ökosystemprojeten a Form vun Tarballs verfügbar. Dir kënnt se eroflueden an d'Installatioun ufänken, awer mat enger Bedingung: Nieft der onofhängeger Versammlung vu Packagen aus "raw" Binären, déi Dir héchstwahrscheinlech wëllt maachen, hutt Dir kee Vertrauen an d'Kompatibilitéit vun den erofgeluede Versioune vu Komponenten mat all aner. Déi bevorzugt Optioun ass ze bauen mat Apache Bigtop. Bigtop erlaabt Iech aus Apache Maven Repositories ze bauen, Tester auszeféieren a Packagen ze bauen. Awer, wat fir eis ganz wichteg ass, Bigtop wäert déi Versioune vu Komponenten zesummestellen, déi matenee kompatibel sinn. Mir wäerten doriwwer am Detail ënnert schwätzen.

Apache Bigtop

Apache Bigtop a wielt haut eng Hadoop Verdeelung

Apache Bigtop ass en Tool fir ze bauen, ze packen an ze testen eng Rei vun
Open Source Projeten, wéi Hadoop a Greenplum. Bigtop huet vill
verëffentlecht. Zu der Zäit vum Schreiwen war déi lescht stabil Verëffentlechung Versioun 1.4,
an am Meeschter war et 1.5. Verschidde Versioune vu Verëffentlechungen benotzen verschidde Versiounen
Komponenten. Zum Beispill, fir 1.4 Hadoop Kär Komponente hunn Versioun 2.8.5, an am Meeschter
2.10.0. D'Zesummesetzung vun de ënnerstëtzte Komponenten ännert sech och. Eppes verännert an
déi onerneierbar geet ewech, an op seng Plaz kënnt eppes Neies, méi gefrot, an
et ass net onbedéngt eppes vun der Apache Famill selwer.

Zousätzlech, Bigtop huet vill Gabel.

Wéi mir ugefaang mat Bigtop kennenzeléieren, ware mir als éischt iwwerrascht iwwer seng bescheiden, am Verglach mat aneren Apache Projeten, Prävalenz a Popularitéit, souwéi eng ganz kleng Gemeinschaft. Et geet dovun aus, datt et minimal Informatioun iwwer de Produit gëtt, an d'Sich no Léisunge fir Probleemer, déi op Foren a Mailinglëschten entstane sinn, kann guer näischt bréngen. Fir d'éischt war et eng schwiereg Aufgab fir eis déi komplett Versammlung vun der Verdeelung ze kompletéieren wéinst de Fonctiounen vum Tool selwer, awer mir schwätzen iwwer dëst e bësse méi spéit.

Als Teaser, déi, déi eng Kéier un esou Projete vum Linux Universum wéi Gentoo an LFS interesséiert waren, kënnen et nostalgesch agreabel fannen mat dëser Saach ze schaffen an un déi "epesch" Zäiten ze erënneren, wou mir selwer gesicht hunn (oder souguer schreiwen) ebuilds a regelméisseg Mozilla mat neie Patches opgebaut.

De grousse Virdeel vu Bigtop ass d'Ouverture an d'Vielfalt vun den Tools op deenen et baséiert. Et baséiert op Gradle an Apache Maven. Gradle ass zimmlech bekannt als Tool dat Google benotzt fir Android ze bauen. Et ass flexibel, an, wéi se soen, "Schluecht-getest." Maven ass e Standardinstrument fir Projeten an Apache selwer ze bauen, a well déi meescht vu senge Produkter duerch Maven verëffentlecht ginn, konnt et och hei net ouni et gemaach ginn. Et ass derwäert opmierksam ze maachen POM (Projetobjektmodell) - eng "fundamental" XML-Datei, déi alles beschreift wat néideg ass fir Maven fir mat Ärem Projet ze schaffen, ronderëm deen all Aarbecht gebaut ass. Genau um
Deeler vun Maven an et sinn e puer Hindernisser déi éischte Kéier Bigtop Benotzer normalerweis begéinen.

Praxis

Also wou sollt Dir ufänken? Gitt op d'Download Säit an luet déi lescht stabil Versioun als Archiv erof. Do fannt Dir och binär Artefakte gesammelt vu Bigtop. Iwwregens, ënner de gemeinsame Packagemanager ginn YUM an APT ënnerstëtzt.

Alternativ kënnt Dir déi lescht stabil Verëffentlechung direkt eroflueden
github:

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

Klonen am "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), готово.

De resultéierende ./bigtop Verzeichnis gesäit sou eppes aus:

./bigtop-bigpetstore - Demo Uwendungen, synthetesch Beispiller
./bigtop-ci - CI Toolkit, Jenkins
./bigtop-data-generators - Dategeneratioun, Synthetik, fir Rauchtester, asw.
./bigtop-deploy - Deployment Tools
./bigtop-packages - Konfiguratiounen, Scripten, Patches fir d'Versammlung, den Haaptdeel vum Tool
./bigtop-test-framework - Test Kader
./bigtop-tests - d'Tester selwer, Luede a fëmmen
./bigtop_toolchain - Ëmfeld fir Assemblée, d'Ëmwelt virbereeden fir d'Tool ze schaffen
./build - bauen Aarbechtsverzeechnes
./dl - Verzeechnes fir erofgeluede Quellen
./docker - Gebai an Docker Biller, Testen
./gradle - gradle config
./output - den Verzeechnes wou Bauartefakte goen
./provisioner - Versuergung

Déi interessantst Saach fir eis op dëser Etapp ass d'Haaptkonfiguratioun ./bigtop/bigtop.bom, an deem mir all ënnerstëtzt Komponente mat Versiounen gesinn. Dëst ass wou mir eng aner Versioun vum Produkt kënne spezifizéieren (wa mir op eemol probéieren et ze bauen) oder eng Build Versioun (wann mir zum Beispill e bedeitende Patch bäigefüügt hunn).

Den Ënnerverzeechnes ass och vu groussen Interessi ./bigtop/bigtop-packages, wat direkt mam Prozess vun der Montage vun Komponenten a Packagen mat hinnen verbonnen ass.

Also, mir hunn den Archiv erofgelueden, et ausgepackt oder e Klon aus Github gemaach, kënne mir ufänken ze bauen?

Nee, loosst eis d'Ëmwelt virbereeden.

Ëmweltvirbereedung

An hei brauche mir e klenge Réckzuch. Fir bal all méi oder manner komplex Produkt ze bauen, brauch Dir e gewëssen Ëmfeld - an eisem Fall ass dat de JDK, déiselwecht gemeinsame Bibliothéiken, Headerdateien, asw., Tools, zum Beispill Ant, ivy2 a vill méi. Eng vun den Optiounen fir d'Ëmfeld ze kréien déi Dir braucht fir Bigtop ass déi néideg Komponenten um Buildhost z'installéieren. Ech kéint falsch an der Chronologie sinn, awer et schéngt datt mat der Versioun 1.0 och eng Optioun war fir pre-konfiguréiert an zougänglech Docker Biller ze bauen, déi hei fonnt ginn.

Wat d'Ëmwelt virbereeden ass, gëtt et en Assistent fir dëst - Puppet.

Dir kënnt déi folgend Kommandoen benotzen, aus dem Root Verzeichnis lafen
Tool, ./bigtop:

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

Oder direkt iwwer Poppentheater:

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"

Leider kënne Schwieregkeeten schonn an dësem Stadium entstoen. Den allgemenge Rot hei ass eng ënnerstëtzt Verdeelung ze benotzen, aktuell um Build Host, oder probéiert den Docker Wee.

Assemblée

Wat kënne mir probéieren ze sammelen? D'Äntwert op dës Fro gëtt vum Ausgang vum Kommando gegeben

./gradlew tasks

An der Package Aufgaben Sektioun ginn et eng Zuel vu Produkter déi endgülteg Artefakte vu Bigtop sinn.
Si kënne mam Suffix -rpm oder -pkg-ind identifizéiert ginn (am Fall vum Gebai
an Docker). An eisem Fall ass déi interessantst Hadoop.

Loosst eis probéieren an d'Ëmfeld vun eisem Build Server ze bauen:

./gradlew hadoop-rpm

Bigtop selwer wäert déi néideg Quellen eroflueden, déi fir e spezifesche Komponent néideg sinn, a fänken un d'Versammlung. Also ass d'Operatioun vum Tool ofhängeg vu Maven Repositories an aner Quellen, dat heescht, et erfuerdert Internetzougang.

Wärend der Operatioun gëtt Standardoutput generéiert. Heiansdo kann et a Fehlermeldungen Iech hëllefen ze verstoen wat falsch gaang ass. An heiansdo musst Dir zousätzlech Informatioune kréien. An dësem Fall ass et derwäert Argumenter ze addéieren --info oder --debug, a kann och nëtzlech sinn –stacktrace. Et gëtt e praktesche Wee fir en Datesaz fir spéider Zougang zu Mailinglëschten ze generéieren, de Schlëssel --scan.

Mat senger Hëllef, Bigtop sammelt all d'Informatioun an setzt se a Gradle, duerno gëtt et e Link,
duerch folgend déi, eng kompetent Persoun wäert fäheg sinn ze verstoen firwat d'Assemblée gescheitert.
Sidd w.e.g. bewosst datt dës Optioun Informatioun aussetzt déi Dir net wëllt, wéi Benotzernimm, Noden, Ëmfeldvariablen, asw., also passt virsiichteg.

Dacks sinn d'Fehler eng Konsequenz vun der Onméiglechkeet fir Komponenten ze kréien déi néideg sinn fir d'Montage. Typesch kënnt Dir de Problem fixéieren andeems Dir e Patch erstellt fir eppes an de Quellen ze fixéieren, zum Beispill Adressen an pom.xml am Root-Verzeichnis vun de Quellen. Dëst gëtt gemaach andeems Dir se an de passenden Verzeichnis erstellt an plazéiert ./bigtop/bigtop-packages/src/common/oozie/ Patch, zum Beispill, an der 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>

Wahrscheinlech, wann Dir dësen Artikel liest, musst Dir déi uewe genannte Fix selwer net maachen.

Wann Dir all Patches a Ännerunge vum Versammlungsmechanismus agefouert hutt, musst Dir vläicht d'Versammlung "zrécksetzen" mam Botzen Kommando:

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

Dës Operatioun wäert all Ännerungen un der Assemblée vun dëser Komponent zréckrollen, duerno gëtt d'Versammlung erëm gemaach. Dës Kéier wäerte mir probéieren de Projet an engem Docker-Bild ze bauen:

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

De Bau gouf ënner CentOS gemaach, awer kann och ënner Ubuntu gemaach ginn:

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

Zousätzlech fir Packagen fir verschidde Linux Verdeelungen ze bauen, kann de Tool e Repository mat kompiléierte Packagen erstellen, zum Beispill:

./gradlew yum

Dir kënnt Iech och un d'Damptester an d'Deployment am Docker erënneren.

Erstellt e Stärekoup vun dräi Wirbelen:

./gradlew -Pnum_instances=3 docker-provisioner

Fuert Rauchtester an engem Cluster vun dräi Wirbelen:

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

E Cluster läschen:

./gradlew docker-provisioner-destroy

Kritt Kommandoen fir an Docker Container ze verbannen:

./gradlew docker-provisioner-ssh

Status weisen:

./gradlew docker-provisioner-status

Dir kënnt méi iwwer Deployment Aufgaben an der Dokumentatioun liesen.

Wa mir iwwer Tester schwätzen, sinn et eng zimlech grouss Zuel vun hinnen, haaptsächlech Damp an Integratioun. Hir Analyse ass iwwer den Ëmfang vun dësem Artikel. Loosst mech just soen datt d'Assemblée vun engem Verdeelungskit net sou schwéier ass wéi et op den éischte Bléck schéngt. Mir hunn et fäerdeg bruecht Tester op all d'Komponenten ze sammelen an ze passéieren, déi mir an eiser Produktioun benotzen, a mir haten och keng Probleemer se z'installéieren an d'Basisoperatiounen am Testëmfeld auszeféieren.

Zousätzlech zu den existente Komponenten am Bigtop ass et méiglech eppes anescht ze addéieren, och Är eege Softwareentwécklung. All dëst ass perfekt automatiséiert a passt an d'CI/CD Konzept.

Konklusioun

Selbstverständlech soll d'Verdeelung op dës Manéier net direkt an d'Produktioun geschéckt ginn. Dir musst verstoen datt wann et e reelle Bedierfnes ass fir Är Verdeelung ze bauen an z'ënnerstëtzen, da musst Dir Geld an Zäit an dësem investéieren.

Wéi och ëmmer, a Kombinatioun mat der richteger Approche an engem professionelle Team ass et ganz méiglech ouni kommerziell Léisungen ze maachen.

Et ass wichteg ze bemierken datt de Bigtop Projet selwer an Entwécklung brauch a schéngt haut net aktiv entwéckelt ze ginn. D'Perspektiv vum Hadoop 3 erschéngen ass och onkloer Iwwregens, wann Dir e reelle Besoin hutt Hadoop 3 ze bauen, kënnt Dir kucken Forschett aus Arenadata, an deem, Nieft Norm
Et ginn eng Rei vun zousätzlech Komponente (Ranger, Knox, NiFi).

Wat Rostelecom ugeet, fir eis ass Bigtop eng vun den Optiounen déi haut berücksichtegt ginn. Ob mir et wielen oder net, wäert d'Zäit soen.

Betriebspläng

Fir eng nei Komponent an der Assemblée opzemaachen, musst Dir seng Beschreiwung op bigtop.bom an ./bigtop-packages addéieren. Dir kënnt probéieren dëst duerch Analogie mat de bestehend Komponente ze maachen. Probéiert et erauszefannen. Et ass net esou schwéier wéi et op den éischte Bléck schéngt.

Wat denks du? Mir wäerte frou Är Meenung an de Kommentaren ze gesinn a soen Iech Merci fir Är Opmierksamkeet!

Den Artikel gouf vum Rostelecom Datemanagement Team virbereet

Source: will.com

Setzt e Commentaire