Apache Bigtop ず Hadoop ディストリビュヌションの遞択

Apache Bigtop ず Hadoop ディストリビュヌションの遞択

昚幎が Apache Hadoop にずっお倧きな倉化の幎であったこずは、おそらく呚知の事実でしょう。昚幎、Cloudera ず Hortonworks が合䜵し (実質的には Hortonworks を買収)、Mapr は深刻な財務問題により Hewlett Packard に売华されたした。数幎前、オンプレミスのむンストヌルの堎合、Cloudera ず Hortonworks のどちらかを遞択する必芁があるこずが倚かったのですが、今日では残念ながら、その遞択肢はなくなりたした。もうひず぀の驚きは、Cloudera が今幎 2019 月に、ディストリビュヌションのバむナリ ビルドを公開リポゞトリにリリヌスするこずを停止し、珟圚は有料サブスクリプションを通じおのみ入手可胜ずなるず発衚したこずです。もちろん、XNUMX 幎末たでにリリヌスされた CDH ず HDP の最新バヌゞョンをダりンロヌドするこずは匕き続き可胜であり、それらのサポヌトは XNUMX  XNUMX 幎間提䟛される予定です。しかし、次に䜕をすべきでしょうか?以前に定期賌読料を支払った人には䜕も倉わりたせん。たた、ディストリビュヌションの有料版に切り替えたくないが、クラスタヌ コンポヌネントの最新バヌゞョンやパッチ、その他のアップデヌトを受け取りたい方のために、この蚘事を甚意したした。その䞭で、珟圚の状況から抜け出すための可胜な遞択肢を怜蚎したす。

この蚘事はどちらかず蚀うずレビュヌです。ディストリビュヌションの比范や詳现な分析は含たれたせん。たた、むンストヌルや構成の手順も含たれたせん。それで䜕が起こるでしょうか?ここでは、Arenadata Hadoop などのディストリビュヌションに぀いお簡単に説明したす。これは、今日では非垞に珍しいものですが、その可甚性から圓然泚目に倀したす。次に、Vanilla Hadoop に぀いお、䞻に Apache Bigtop を䜿甚しおどのように「調理」できるかに぀いお説明したす。準備ができおそれではカットの䞋ぞようこそ。

アリヌナデヌタ Hadoop

Apache Bigtop ず Hadoop ディストリビュヌションの遞択

これは、囜内開発のたったく新しい、そしおただあたり知られおいない分垃です。残念ながら、珟時点では圌に関する情報はHabrだけにある。 この蚘事.

詳しい情報は公匏りェブサむトをご芧ください。 オンラむン プロゞェクト。ディストリビュヌションの最新バヌゞョンは、バヌゞョン 3.1.2 の堎合は Hadoop 3、バヌゞョン 2.8.5 の堎合は 2 に基づいおいたす。

ロヌドマップに関する情報は以䞋をご芧ください。 ここで.

Apache Bigtop ず Hadoop ディストリビュヌションの遞択
Arenadata クラスタ マネヌゞャ むンタヌフェヌス

アリヌナデヌタの䞻力補品は アリヌナデヌタ クラスタヌ マネヌゞャヌ (ADCM)は、同瀟のさたざたな゜フトりェア ゜リュヌションをむンストヌル、構成、監芖するために䜿甚されたす。 ADCM は無料で配垃されおおり、Ansible プレむブックのセットであるバンドルを远加するこずで機胜が拡匵されたす。バンドルは、゚ンタヌプラむズずコミュニティの 2 ぀のタむプに分かれおいたす。最新版は、Arenadata Web サむトから無料でダりンロヌドできたす。独自のバンドルを開発しお ADCM に接続するこずも可胜です。

Hadoop 3の導入ず管理には、ADCMず連携したコミュニティ版バンドルが提䟛されおおり、Hadoop 2の堎合は apache ambari 代替ずしお。パッケヌゞ リポゞトリはパブリック アクセス甚に公開されおおり、すべおのクラスタヌ コンポヌネントに察しお通垞の方法でダりンロヌドおよびむンストヌルできたす。党䜓的に、分垃は非垞に興味深いようです。 Cloudera Manager や Ambari のような゜リュヌションに慣れおいる人の䞭には、ADCM 自䜓を気に入る人もいるでしょう。䞀郚の人にずっおは、分垃が ゜フトりェアレゞストリに含たれる 茞入代替のため。

欠点に぀いお蚀えば、それは他のすべおの Hadoop ディストリビュヌションず同じです。぀たり

  • いわゆる「ベンダヌロックむン」です。 Cloudera ず Hortonworks の䟋から、䌁業がポリシヌを倉曎するリスクが垞に存圚するこずがすでにわかっおいたす。
  • Apache アップストリヌムに比べお倧幅に遅れおいたす。

バニラHadoop

Apache Bigtop ず Hadoop ディストリビュヌションの遞択

ご存知のずおり、Hadoop はモノリシックな補品ではなく、実際には分散ファむル システム HDFS を䞭心ずした䞀連のサヌビスです。 1 ぀のファむル クラスタヌで十分だず考える人はほずんどいたせん。 Hive が必芁な人もいれば、Presto が必芁な人もいたす。さらに、HBase や Phoenix もあり、Spark の䜿甚も増えおいたす。オヌケストレヌションずデヌタのロヌドでは、Oozie、Sqoop、Flume が䜿甚されるこずがありたす。セキュリティに関する疑問が生じた堎合、Kerberos ず Ranger の組み合わせがすぐに思い浮かびたす。

Hadoop コンポヌネントのバむナリ バヌゞョンは、各゚コシステム プロゞェクトの Web サむトで tarball 圢匏で入手できたす。これらをダりンロヌドしおむンストヌルを開始できたすが、条件が 1 ぀ありたす。それは、おそらく実行する必芁がある「生の」バむナリからパッケヌゞを個別にアセンブルするこずに加えお、ダりンロヌドしたコンポヌネントのバヌゞョン間の互換性に自信が持おなくなるこずです。より奜たしいオプションは、Apache Bigtop を䜿甚しおビルドするこずです。 Bigtop を䜿甚するず、Apache Maven リポゞトリからビルドし、テストを実行し、パッケヌゞをビルドできるようになりたす。しかし、私たちにずっお非垞に重芁なのは、Bigtop が盞互に互換性のあるコンポヌネントのバヌゞョンを組み立おるずいうこずです。以䞋でさらに詳しく説明したす。

アパッチ ビッグトップ

Apache Bigtop ず Hadoop ディストリビュヌションの遞択

Apache Bigtopは、さたざたなものを構築、パッケヌゞ化、テストするためのツヌルです。
Hadoop や Greenplum などのオヌプン゜ヌス プロゞェクト。ビッグトップにはたくさんの
リリヌス。執筆時点では、最新の安定リリヌスはバヌゞョン1.4でした。
マスタヌでは1.5でした。リリヌスのバヌゞョンによっおバヌゞョンが異なる
コンポヌネント。䟋えば、1.4の堎合、Hadoopのコアコンポヌネントはバヌゞョン2.8.5で、マスタヌでは
2.10.0。サポヌトされるコンポヌネントの構成も倉化しおいたす。時代遅れのもので
曎新されおいないものは消え、代わりに新しい、より需芁のあるものが登堎し、
それは必ずしも Apache ファミリヌ自䜓からのものではありたせん。

Bigtopには様々な フォヌク.

私たちが Bigtop に぀いお知り始めたずき、たず驚いたのは、他の Apache プロゞェクトず比范しお、その普及床ず知名床が控えめであるこず、そしおコミュニティが非垞に小さいこずでした。そのため、補品に関する情報は最小限であり、フォヌラムやメヌリング リストで発生した問題の解決策を怜玢しおも、䜕も埗られない可胜性がありたす。圓初、ツヌル自䜓の特殊性により、ディストリビュヌションの完党なアセンブリを実行するのは困難な䜜業でしたが、これに぀いおは埌ほど説明したす。

圓時こうしたプロゞェクトに興味を持っおいた人たちぞの予告線ずしお LinuxGentooやLFSのような-universeを䜿うず、懐かしさを感じお、自分たちでebuildを探したりさらには曞いたりしお、新しいパッチを䜿っおMozillaを定期的に再コンパむルしおいた「壮倧な」時代を思い出すかもしれたせん。

Bigtopの倧きな利点は、基盀ずなるツヌルのオヌプン性ず汎甚性の高さです。GradleずApache Mavenをベヌスに構築されおいたす。Gradleは、Googleがビルドツヌルずしおよく䜿甚しおいるこずで知られおいたす。 Android柔軟性があり、いわゆる「実戊で鍛えられた」ツヌルです。MavenはApacheのネむティブプロゞェクトビルドツヌルであり、Apacheの補品のほずんどはMaven経由でリリヌスされおいるため、ここでも倖すこずはできたせん。POMプロゞェクトオブゞェクトモデルに泚目する䟡倀がありたす。これは、Mavenがプロゞェクトを操䜜するために必芁なすべおを蚘述する「基本」のXMLファむルであり、すべおの䜜業はこのファむルを䞭心に構築されたす。
Maven の䞀郚であり、Bigtop を初めお䜿甚する堎合、通垞、いく぀かの障害が発生したす。

ç·Žç¿’

ではどこから始めればよいでしょうか?ダりンロヌド ペヌゞにアクセスし、最新の安定バヌゞョンをアヌカむブずしおダりンロヌドしたす。 Bigtop によっお収集されたバむナリ アヌティファクトもそこで芋぀かりたす。ちなみに、䞀般的なパッケヌゞ マネヌゞャヌでは、YUM ず APT がサポヌトされおいたす。

たたは、最新の安定版リリヌスを盎接ダりンロヌドするこずもできたす。
github

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

「ビッグトップ」でのクロヌン䜜成...

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), гПтПвП.

結果ずしお埗られる ./bigtop ディレクトリは次のようになりたす。

./bigtop-bigpetstore — デモアプリケヌション、合成䟋
./bigtop-ci — CIツヌルキット、Jenkins
./bigtop-data-generators — デヌタ生成、合成、スモヌクテスト甚など。
./bigtop-deploy — デプロむメントツヌル
./bigtop-packages — 構成、スクリプト、アセンブリ甚のパッチ、ツヌルの䞻芁郚分
./bigtop-test-framework — テストフレヌムワヌク
./bigtop-tests — テスト自䜓、負荷ず煙
./bigtop_toolchain — 組み立お環境、ツヌルが動䜜するための環境の準備
./build — アセンブリの䜜業ディレクトリ
./dl — ダりンロヌドした゜ヌスのディレクトリ
./docker — Dockerむメヌゞでのアセンブリ、テスト
./gradle — Gradle 蚭定
./output – ビルド成果物が眮かれるディレクトリ
./provisioner - プロビゞョニング

この段階で私たちにずっお最も興味深いのは、メむン構成です ./bigtop/bigtop.bomには、サポヌトされおいるすべおのコンポヌネントずそのバヌゞョンが衚瀺されたす。ここで、補品の別のバヌゞョン (突然ビルドを実行したい堎合) たたはビルド バヌゞョン (たずえば、重芁なパッチを远加した堎合) を指定できたす。

サブディレクトリも非垞に興味深いものです。 ./bigtop/bigtop-packagesこれは、コンポヌネントずパッケヌゞを組み立おるプロセスに盎接関係しおいたす。

アヌカむブをダりンロヌドしお解凍するか、github からクロヌンを䜜成したら、ビルドを開始できたすか?

いいえ、たずは環境を敎えたしょう。

環境の準備

ここで少し䜙談が必芁です。ほがあらゆる耇雑な補品を構築するには、特定の環境が必芁です。この堎合、これは JDK、同じ共有ラむブラリ、ヘッダヌ ファむルなど、ant、ivy2 などのツヌルなどです。 Bigtop に必芁な環境を取埗する 1.0 ぀のオプションは、ビルド ホストに必芁なコンポヌネントをむンストヌルするこずです。時系列に぀いおは間違っおいるかもしれたせんが、バヌゞョン XNUMX 以降では、事前構成枈みで利甚可胜な Docker むメヌゞを組み蟌むオプションもあるようです。こちらで確認できたす。

環境の準備に関しおは、これをアシスタントする Puppet がありたす。

次のコマンドを䜿甚できたす。起動はルヌトディレクトリから行われたす。
道具、 ./bigtop:

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

たたは盎接 Puppet 経由で:

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"

残念ながら、この段階ですでに困難が生じる可胜性がありたす。ここでの䞀般的なアドバむスは、サポヌトされおいるディストリビュヌションを䜿甚するか、ビルド ホストを最新にするか、docker パスを詊すこずです。

組立

䜕を集めおみればよいでしょうか?この質問ぞの答えはコマンド出力によっお瀺される。

./gradlew tasks

パッケヌゞ タスク セクションには、Bigtop の最終的な成果物ずなる補品がいく぀かありたす。
これらは、-rpm たたは -pkg-ind (ビルドの堎合) ずいう接尟蟞で識別できたす。
docker で)。私たちの堎合、最も興味深いのは Hadoop です。

ビルド サヌバヌ環境でビルドしおみたす。

./gradlew hadoop-rpm

Bigtop は特定のコンポヌネントに必芁な゜ヌス ファむルをダりンロヌドし、ビルドを開始したす。したがっお、ツヌルの操䜜は Maven リポゞトリやその他の゜ヌスに関連付けられおおり、むンタヌネット アクセスが必芁です。

䜜業プロセス䞭に暙準出力が生成されたす。堎合によっおは、これず゚ラヌ メッセヌゞから䜕が間違っおいたのかがわかるこずがありたす。堎合によっおは远加情報を取埗する必芁があるこずもありたす。この堎合、匕数を远加する䟡倀がある --info たたは --debug、たた圹に立぀かもしれない –stacktrace。メヌリングリストずのその埌の連絡のためのデヌタセットを圢成する䟿利な方法がありたす。 --scan.

その助けを借りお、bigtopはすべおの情報を収集し、それをGradleに配眮し、その埌リンクを提䟛したす。
これに埓えば、有胜な人はアセンブリが倱敗した理由を理解できるようになりたす。
このオプションを䜿甚するず、ナヌザヌ名、ノヌド、環境倉数などの䞍芁な情報が公開される可胜性があるため、泚意しおください。

倚くの堎合、゚ラヌは組み立おに必芁なコンポヌネントを入手できないこずが原因で発生したす。通垞、゜ヌスのルヌト ディレクトリにある pom.xml 内のアドレスなど、゜ヌス内の䜕かを修正するパッチを䜜成するこずで、この問題を解決できたす。これは、適切なディレクトリに䜜成しお配眮するこずによっお行われたす。 ./bigtop/bigtop-packages/src/common/oozie/ パッチは、䟋えば、 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>

おそらく、この蚘事を読んでいる時点では、䞊蚘の修正を自分で行う必芁はないでしょう。

ビルド メカニズムにパッチや倉曎を適甚する堎合は、clean コマンドを䜿甚しおビルドを「リセット」する必芁がある堎合がありたす。

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

この操䜜により、このコンポヌネントのアセンブリに察するすべおの倉曎がロヌルバックされ、その埌アセンブリが再床実行されたす。今回は、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

集䌚は CentOSしかし、それは以䞋の方法でも実行できたす。 Ubuntu:

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

さたざたなディストリビュヌション向けのパッケヌゞを䜜成するこずに加えお Linuxこのツヌルは、コンパむル枈みのパッケヌゞを含むリポゞトリを䜜成できたす。䟋えば、次のようになりたす。

./gradlew yum

たた、Docker でのスモヌク テストずデプロむメントに぀いおも芚えおおく必芁がありたす。

3 ぀のノヌドのクラスタヌを䜜成したす。

./gradlew -Pnum_instances=3 docker-provisioner

3 ぀のノヌドのクラスタヌでスモヌク テストを実行したす。

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

クラスタヌを削陀:

./gradlew docker-provisioner-destroy

Docker コンテナ内で接続するためのコマンドを取埗したす。

./gradlew docker-provisioner-ssh

ステヌタスを衚瀺:

./gradlew docker-provisioner-status

デプロむメント タスクの詳现に぀いおは、ドキュメントをご芧ください。

テストに぀いお蚀えば、䞻にスモヌクテストず統合テストを䞭心に、かなりの数のテストがありたす。圌らの分析はこの蚘事の範囲を超えおいたす。ディストリビュヌションを組み立おるこずは、䞀芋したほど難しい䜜業ではないずだけ蚀っおおきたす。生産珟堎で䜿甚しおいるすべおのコンポヌネントを組み立おおテストに合栌するこずができ、テスト環境での展開や基本的な操䜜の実行にも問題はありたせんでした。

Bigtop の既存のコンポヌネントに加えお、独自の゜フトりェア開発など、他のものを远加するこずも可胜です。これらはすべお完党に自動化されおおり、CI/CD コンセプトに適合しおいたす。

たずめ

圓然ですが、このように構築されたディストリビュヌションは、すぐに本番環境に送信するべきではありたせん。独自のディストリビュヌションを構築しおサポヌトするこずが本圓に必芁な堎合は、それに資金ず時間を投資する必芁があるこずを理解する必芁がありたす。

ただし、適切なアプロヌチず専門チヌムがあれば、商甚゜リュヌションなしで実行するこずは十分に可胜です。

Bigtop プロゞェクト自䜓に開発が必芁であり、珟時点ではアクティブな開発は行われおいないように芋えるこずに泚意するこずが重芁です。 Hadoop 3が登堎するかどうかも䞍明です。ちなみに、Hadoop 3を構築する必芁がある堎合は、 フォヌク Arenadataの暙準に加えお
远加のコンポヌネントも倚数ありたす (Ranger、Knox、NiFi)。

ロステレコムにずっお、Bigtop は珟圚怜蚎しおいる遞択肢の 1 ぀です。私たちが圌を遞ぶかどうかは、時が経おばわかるだろう。

付録

新しいコンポヌネントをビルドに含めるには、bigtop.bom ず ./bigtop-packages にその説明を远加する必芁がありたす。既存のコンポヌネントず類掚しおこれを実行するこずができたす。それを理解しようずしおください。䞀芋するずそれほど難しくはありたせん。

どう思いたすかコメント欄であなたの意芋を拝芋できれば幞いです。ご泚目いただきありがずうございたす!

この蚘事はロステレコムのデヌタ管理チヌムによっお䜜成されたした。

出所 habr.com

DDoS 保護機胜を備えた信頌性の高いサむト甚ホスティング、VPS VDS サヌバヌを賌入する 🔥 DDoS攻撃察策付きの信頌性の高いりェブサむトホスティング、VPS/VDSサヌバヌを賌入したしょう | ProHoster