Apache Bigtop und die Wahl der Hadoop-Distribution heute



Es ist wahrscheinlich kein Geheimnis, dass das letzte Jahr für Apache Hadoop ein Jahr großer Veränderungen war. Im vergangenen Jahr fusionierten Cloudera und Hortonworks (im Wesentlichen eine Übernahme der zweiten), und Mapr wurde aufgrund schwerwiegender finanzieller Probleme an Hewlett Packard verkauft. Und wenn einige Jahre zuvor bei lokalen Installationen häufig die Wahl zwischen Cloudera und Hortonworks getroffen werden musste, hatten wir heute leider keine Wahl. Eine weitere Überraschung war die Tatsache, dass Cloudera seit Februar dieses Jahres die Beendigung der Veröffentlichung von binären Assemblys seiner Verteilung in einem öffentlichen Repository angekündigt hat und diese nun nur noch im kostenpflichtigen Abonnement erhältlich sind. Die Möglichkeit, die neuesten Versionen von CDH und HDP herunterzuladen, die vor Ende 2019 veröffentlicht wurden, ist natürlich weiterhin vorhanden, und die Unterstützung für diese Versionen wird für ein bis zwei Jahre erwartet. Aber was als nächstes zu tun? Für diejenigen,Wer zuvor für das Abonnement bezahlt hat, hat sich nicht geändert. Und für diejenigen, die nicht zu einer kostenpflichtigen Version des Distributionskits wechseln möchten, aber die neuesten Versionen von Clusterkomponenten sowie Patches und andere Updates erhalten möchten, haben wir diesen Artikel vorbereitet. Darin werden wir mögliche Wege aus dieser Situation betrachten.

. , . ? Arenadata Hadoop, , . Vanilla Hadoop, , “” Apache Bigtop. ? .

Arenadata Hadoop




Dies ist eine völlig neue und bislang wenig bekannte Verteilung der Binnenentwicklung. Leider gibt es im Moment nur diesen Artikel über Habré darüber .

Weitere Informationen finden Sie auf der offiziellen Website des Projekts. Die neuesten Distributionen basieren auf Hadoop 3.1.2 für Version 3 und 2.8.5 für Version 2.

Informationen zur Roadmap finden Sie hier .


Arenadata Cluster Manager-Schnittstelle Das

Hauptprodukt von Arenadata ist Arenadata Cluster Manager (ADCM)., mit dem verschiedene Softwarelösungen des Unternehmens installiert, konfiguriert und überwacht werden. ADCM ist kostenlos und seine Funktionalität wird durch Hinzufügen von Bundles erweitert, bei denen es sich um eine Reihe von Ansible-Playbooks handelt. Bundles werden in zwei Typen unterteilt: Unternehmen und Community. Letztere können kostenlos von Arenadata heruntergeladen werden. Es ist auch möglich, ein eigenes Bundle zu entwickeln und es mit ADCM zu verbinden.

Für die Bereitstellung und Verwaltung von Hadoop 3 wird eine Community-Version des Bundles in Verbindung mit ADCM angeboten, und für Hadoop 2 gibt es nur Apache Ambarials Alternative. Die Repositorys mit Paketen sind öffentlich zugänglich und können für alle Clusterkomponenten auf die übliche Weise heruntergeladen und installiert werden. Generell sieht die Distribution sehr interessant aus. Ich bin mir sicher, dass es solche gibt, die an Lösungen wie Cloudera Manager und Ambari gewöhnt sind und die ADCM selbst mögen werden. Für einige ist die Tatsache, dass das Distributionskit in der Registrierung der Importsubstitutionssoftware enthalten ist , ein großes Plus .

Wenn wir über die Nachteile sprechen, sind sie dieselben wie für alle anderen Hadoop-Distributionen. Nämlich:

  • Das sogenannte "Vendor Lock-In". Anhand der Beispiele von Cloudera und Hortonworks haben wir bereits erkannt, dass immer das Risiko einer Änderung der Unternehmensrichtlinien besteht.
  • Deutliche Verzögerung hinter Apache stromaufwärts.

Vanille-Hadoop




Wie Sie wissen, ist Hadoop kein monolithisches Produkt, sondern eine ganze Galaxie von Diensten rund um das verteilte HDFS-Dateisystem. Nur wenige Benutzer benötigen einen Dateicluster. Einer braucht Hive und der andere Presto, und es gibt HBase und Phoenix, Spark wird zunehmend verwendet. Oozie, Sqoop und Flume orchestrieren und laden manchmal Daten herunter. Und wenn das Sicherheitsproblem auftritt, wird Kerberos in Verbindung mit Ranger sofort in Erinnerung gerufen.

Binäre Versionen von Hadoop-Komponenten sind auf der Website jedes Ökosystemprojekts in Form von Tarballs verfügbar. Sie können heruntergeladen und die Installation gestartet werden, jedoch unter einer Bedingung: Zusätzlich zur Selbstorganisation von Paketen aus „rohen“ Binärdateien, die Sie höchstwahrscheinlich ausführen möchten, haben Sie kein Vertrauen in die Kompatibilität der heruntergeladenen Versionen der Komponenten untereinander. Die bevorzugte Option ist das Erstellen mit Apache Bigtop. Mit Bigtop können Sie aus Apaches Maven-Repositorys erstellen, Tests ausführen und Pakete erstellen. Was für uns jedoch sehr wichtig ist, wird Bigtop die Versionen von Komponenten sammeln, die miteinander kompatibel sind. Wir werden weiter unten ausführlicher darauf eingehen.

Apache Bigtop




Apache Bigtop ist ein Tool zum Erstellen, Verpacken und Testen einer Reihe von
Open Source-Projekten wie beispielsweise Hadoop und Greenplum. Bigtop hat viele
Veröffentlichungen. Zum Zeitpunkt des Schreibens war die neueste stabile Version Version 1.4
und in Master Version 1.5. Unterschiedliche Versionen von Releases verwenden unterschiedliche Versionen von
Komponenten. Für 1.4 sind die Hadoop-Kernkomponenten beispielsweise Version 2.8.5 und in Master
2.10.0. Die Zusammensetzung der unterstützten Komponenten ändert sich ebenfalls. Etwas veraltetes und
nicht erneuerbares verlässt, und an seine Stelle tritt etwas Neues, Gefragteres und
nicht unbedingt etwas aus der Familie von Apache selbst.

Bigtop hat auch viele Gabeln .

Als wir anfingen, Bigtop kennenzulernen, waren wir vor allem von seiner Bescheidenheit im Vergleich zu anderen Apache-Projekten, seiner Verbreitung und seinem Ruhm sowie einer sehr kleinen Community überrascht. Daraus folgt, dass es ein Minimum an Produktinformationen gibt und die Suche nach Lösungen für Probleme, die durch Foren und Newsletter aufgetreten sind, möglicherweise überhaupt nichts hervorbringt. Zunächst stellte sich heraus, dass es aufgrund der Funktionen des Tools selbst eine schwierige Aufgabe für uns war, die Montage des Verteilungskits abzuschließen. Wir werden jedoch etwas später darüber sprechen.

Als Teaser mag es für diejenigen, die einmal Linux-Universum-Projekte wie Gentoo und LFS besucht haben, nostalgisch angenehm erscheinen, mit diesem Ding zu arbeiten und sich an jene „vergangenen“ Zeiten zu erinnern, als wir selbst nach Ebuilds gesucht (oder sogar geschrieben) haben und regelmäßig mit neuen Patches Mozilla wieder aufgebaut.

Das große Plus von Bigtop ist die Offenheit und Vielseitigkeit der Tools, auf denen es basiert. Ihre Gründung ist Gradle und Apache Maven. Gradle ist als das Tool bekannt, für das Google Android sammelt. Es ist flexibel und, wie man so sagt, „im Kampf getestet“. Maven ist ein Vollzeit-Tool zum Erstellen von Projekten in Apache selbst. Da die meisten seiner Produkte über Maven veröffentlicht werden, kann es nicht darauf verzichten. Es lohnt sich, auf POM (Projektobjektmodell) zu achten - eine „grundlegende“ XML-Datei mit einer Beschreibung von allem, was Maven für die Arbeit mit Ihrem Projekt benötigt, auf dem alle Arbeiten basieren. Im
Maven-Teil treten einige Hindernisse auf, die normalerweise zum ersten Mal auftreten, wenn sie Bigtop aufnehmen.

Trainieren


Wo soll ich anfangen? Wir gehen zur Download-Seite und laden die neueste stabile Version als Archiv herunter. Dort finden sich auch von Bigtop gesammelte binäre Artefakte. Übrigens werden von den gängigen Paketmanagern YUM und APT unterstützt.

Alternativ können Sie die neueste stabile Version direkt von
github herunterladen:

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

Klonen im "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), .

Das resultierende ./bigtop-Verzeichnis sieht ungefähr so ​​aus:

./bigtop-bigpetstore- Demoanwendungen , synthetische Beispiele
./bigtop-ci- CI-Tools, Jenkins
./bigtop-data-generators- Datengenerierung, Kunststoffe, für Rauchtests usw.
./bigtop-deploy- Deployment - Tools
./bigtop-packages- configs, Skripte, Patches für die Montage, der Hauptteil des Werkzeugs
./bigtop-test-framework- Test - Framework
./bigtop-tests- Tests selbst, Stress und Rauch
./bigtop_toolchain- Umgebung für die Montage, die Vorbereitung der Umgebung für das Werkzeug an die Arbeit
./build- Arbeitsverzeichnis der Assembly
./dl- Verzeichnis für heruntergeladene Quellen
./docker- Montage in docker- images, testing
./gradle- gradle config
./output - das Verzeichnis, in das Assembly-Artefakte gelangen
./provisioner- Bereitstellung

Das interessanteste für uns in dieser Phase ist die Hauptkonfiguration./bigtop/bigtop.bom, in dem wir alle unterstützten Komponenten mit Versionen sehen. Hier können wir eine andere Version des Produkts angeben (wenn wir plötzlich versuchen möchten, es zu erstellen) oder eine Version der Assembly (wenn wir beispielsweise einen signifikanten Patch hinzugefügt haben).

Von großem Interesse ist auch das Unterverzeichnis ./bigtop/bigtop-packages, das in direktem Zusammenhang mit dem Montageprozess von Komponenten und Paketen steht.

Also haben wir das Archiv heruntergeladen, entpackt oder einen Klon mit Github erstellt. Können wir die Assembly starten?

Nein, bereiten Sie zuerst die Umgebung vor.

Umweltvorbereitung


Und hier ist ein kleiner Exkurs nötig. Um fast jedes mehr oder weniger komplexe Produkt zu erstellen, benötigen Sie eine bestimmte Umgebung - in unserem Fall JDK, dieselben gemeinsam genutzten Bibliotheken, Header-Dateien usw., Tools, z. B. ant, ivy2 und vieles mehr. Eine der Optionen, um die für Bigtop erforderliche Umgebung zu erhalten, besteht darin, die erforderlichen Komponenten auf dem Assemblyhost zu installieren. Ich kann mich in der Chronologie irren, aber es scheint, dass es ab Version 1.0 auch eine Build-Option für vorkonfigurierte und zugängliche Docker-Images gab. Sie finden sie hier.

Für die Vorbereitung der Umgebung gibt es einen Assistenten - Puppet.

Sie können die folgenden Befehle verwenden. Der Start erfolgt über das Stammverzeichnis des
Tools../bigtop:

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

Oder direkt durch die Puppe:

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önnen bereits in diesem Stadium Schwierigkeiten auftreten. Der allgemeine Rat hier ist, eine unterstützte Distribution zu verwenden, die auf dem Build-Host auf dem neuesten Stand ist, oder den Pfad mit Docker zu versuchen.

Versammlung


Was können wir versuchen zu sammeln? Die Antwort auf diese Frage gibt die Ausgabe des Befehls aus

./gradlew tasks

Der Abschnitt Paketaufgaben enthält eine Reihe von Produkten, die die endgültigen Artefakte von Bigtop darstellen.
Sie können durch das Suffix -rpm oder -pkg-ind identifiziert werden (bei Montage
im Docker). In unserem Fall ist Hadoop das interessanteste.

Versuchen wir, in die Umgebung unseres Build-Servers zu bauen:

./gradlew hadoop-rpm

Bigtop selbst lädt die für eine bestimmte Komponente erforderlichen Quellen herunter und beginnt mit der Erstellung. Daher ist das Tool an Maven-Repositorys und andere Quellen gebunden, dh es benötigt einen Internetzugang.

Dabei wird eine Standardausgabe gebildet. Manchmal kann man daraus und den Fehlermeldungen verstehen, was schief gelaufen ist. Und manchmal brauchen Sie mehr Informationen. In diesem Fall lohnt es sich, die Argumente --info oder hinzuzufügen --debug, und es kann auch nützlich sein –stacktrace. Es gibt eine bequeme Möglichkeit, einen Datensatz für den späteren Verweis auf die Mailinglisten, den Schlüssel, zu generieren --scan.

Damit sammelt bigtop alle Informationen und stellt sie in Gradle. Danach gibt es einen Link,
nach dem eine kompetente Person verstehen kann, warum die Montage fehlgeschlagen ist.
Sie müssen berücksichtigen, dass diese Option Informationen, die für Sie unerwünscht sind, wie Benutzernamen, Knoten, Umgebungsvariablen usw., möglicherweise öffentlich macht. Seien Sie also vorsichtig.

Oft sind Fehler das Ergebnis der Unfähigkeit, die für die Montage erforderlichen Komponenten zu erhalten. In der Regel können Sie das Problem beheben, indem Sie einen Patch erstellen, um etwas in der Quelle zu beheben, z. B. die Adresse in pom.xml im Stammverzeichnis der Quelle. Dazu wird es erstellt und im entsprechenden ./bigtop/bigtop-packages/src/common/oozie/Patch- Verzeichnis abgelegt , z. B. in Form von 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>

Zum Zeitpunkt des Lesens dieses Artikels müssen Sie die oben genannte Korrektur höchstwahrscheinlich nicht selbst vornehmen.

Wenn Sie Patches und Änderungen in den Assembly-Mechanismus einfügen, müssen Sie die Assembly möglicherweise über den Bereinigungsbefehl zurücksetzen:

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

Durch diesen Vorgang werden alle Änderungen in der Baugruppe dieser Komponente rückgängig gemacht. Anschließend wird die Baugruppe erneut ausgeführt. Dieses Mal werden wir versuchen, das Projekt in einem Docker-Image zu erstellen:

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

Der Build wurde unter CentOS erstellt, aber Sie können ihn auch unter Ubuntu ausführen:

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

Zusätzlich zum Zusammenstellen von Paketen für verschiedene Linux-Distributionen kann das Tool ein Repository mit zusammengestellten Paketen erstellen, zum Beispiel:

./gradlew yum

Sie können sich auch an Rauchtests und die Bereitstellung im Docker erinnern.

Erstellen Sie einen Cluster aus drei Knoten:

./gradlew -Pnum_instances=3 docker-provisioner

Führen Sie Rauchtests in einem Cluster von drei Knoten durch:

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

Cluster löschen:

./gradlew docker-provisioner-destroy

Befehle zum Verbinden innerhalb von Docker-Containern abrufen:

./gradlew docker-provisioner-ssh

Status anzeigen:

./gradlew docker-provisioner-status

Weitere Informationen zu Bereitstellungsaufgaben finden Sie in der Dokumentation.

Wenn wir über Tests sprechen, dann gibt es eine ziemlich große Anzahl von Tests, hauptsächlich Rauch- und Integrationstests. Ihre Analyse würde den Rahmen dieses Artikels sprengen. Ich kann nur sagen, dass der Aufbau des Distributionskits nicht so schwierig ist, wie es auf den ersten Blick scheinen mag. Wir haben es geschafft, alle Komponenten, die wir in unseren Produkten verwenden, für die Tests zu sammeln und zu übergeben, und wir hatten auch keine Probleme mit ihrer Bereitstellung und den grundlegenden Vorgängen in der Testumgebung.

Zusätzlich zu den vorhandenen Komponenten in Bigtop können Sie noch etwas hinzufügen, sogar Ihre eigene Softwareentwicklung. All dies ist perfekt automatisiert und passt in das CI / CD-Konzept.

Fazit


Offensichtlich sollte eine auf diese Weise erstellte Distribution nicht sofort an die Produktion gesendet werden. Sie müssen verstehen, dass Sie finanziell und zeitlich investieren müssen, wenn es wirklich notwendig ist, Ihre Distribution aufzubauen und zu warten.

In Kombination mit dem richtigen Ansatz und einem professionellen Team ist es jedoch durchaus möglich, auf kommerzielle Lösungen zu verzichten.

Es ist wichtig anzumerken, dass das Bigtop-Projekt selbst entwickelt werden muss und es scheint, dass es heute keine aktive Entwicklung gibt. Auch die Aussicht auf das Erscheinen von Hadoop 3 ist nicht klar. Wenn Sie wirklich Hadoop 3 bauen müssen, können Sie sich übrigens die Gabel von Arenadata ansehen, in der es neben Standardkomponenten
eine Reihe zusätzlicher Komponenten gibt (Ranger, Knox, NiFi).

Für Rostelecom ist Bigtop für uns eine der heute in Betracht gezogenen Optionen. Ob wir damit aufhören oder nicht, wird die Zeit zeigen.

Blinddarm


Um eine neue Komponente in die Baugruppe aufzunehmen, müssen Sie ihre Beschreibung in bigtop.bom und ./bigtop-packages hinzufügen. Sie können dies analog zu vorhandenen Komponenten versuchen. Versuchen Sie es herauszufinden. Es ist nicht so schwierig, wie es auf den ersten Blick scheint.

Was denken Sie? Wir freuen uns über Ihre Meinung in den Kommentaren und bedanken uns für Ihre Aufmerksamkeit!

Dieser Artikel wurde vom Datenverwaltungsteam von Rostelecom erstellt

All Articles