Apache Bigtop ve bugün bir Hadoop dağıtımı seçme

Apache Bigtop ve bugün bir Hadoop dağıtımı seçme

Geçen yılın Apache Hadoop için büyük değişikliklerin yaşandığı bir yıl olduğu muhtemelen bir sır değil. Geçen yıl Cloudera ve Hortonworks birleşti (esasen ikincisinin satın alınması) ve Mapr, ciddi mali sorunlar nedeniyle Hewlett Packard'a satıldı. Ve birkaç yıl önce şirket içi kurulumlarda genellikle Cloudera ve Hortonworks arasında seçim yapmak zorunda kalsak da bugün ne yazık ki bu seçeneğe sahip değiliz. Bir diğer sürpriz de Cloudera'nın bu yılın şubat ayında, dağıtımının ikili derlemelerini kamuya açık depoda yayınlamayı bırakacağını ve artık yalnızca ücretli abonelik aracılığıyla erişilebileceğini duyurmasıydı. Elbette 2019 yılı sonundan önce çıkan CDH ve HDP'nin son sürümlerini indirmek hala mümkün ve bunların desteğinin bir ila iki yıl kadar sürmesi bekleniyor. Peki bundan sonra ne yapmalı? Daha önce abonelik için ödeme yapmış olanlar için hiçbir şey değişmedi. Dağıtımın ücretli sürümüne geçmek istemeyen ancak aynı zamanda küme bileşenlerinin en son sürümlerinin yanı sıra yamalar ve diğer güncellemeleri de alabilmek isteyenler için bu makaleyi hazırladık. İçinde bu durumdan çıkmak için olası seçenekleri ele alacağız.

Makale daha çok inceleme niteliğinde. Dağıtımların bir karşılaştırmasını ve bunların ayrıntılı bir analizini içermeyecek ve bunları kurmak ve yapılandırmak için herhangi bir tarif olmayacaktır. Ne olacak? Arenadata Hadoop gibi günümüzde oldukça nadir bulunan, bulunabilirliği nedeniyle haklı olarak ilgimizi hak eden bir dağıtımdan kısaca bahsedeceğiz. Daha sonra Vanilya Hadoop'tan, esas olarak Apache Bigtop kullanılarak nasıl "pişirilebileceğinden" bahsedeceğiz. Hazır? O halde kediye hoş geldiniz.

Arena Verileri Hadoop

Apache Bigtop ve bugün bir Hadoop dağıtımı seçme

Bu tamamen yeni ve henüz az bilinen bir iç kalkınma dağıtım kitidir. Maalesef şu anda Habré'de sadece bu makale.

Daha fazla bilgiyi resmi olarak bulabilirsiniz web sitesi proje. Dağıtımın en son sürümleri, sürüm 3.1.2 için Hadoop 3'yi ve sürüm 2.8.5 için 2'i temel almaktadır.

Yol haritasına ilişkin bilgilere buradan ulaşabilirsiniz. burada.

Apache Bigtop ve bugün bir Hadoop dağıtımı seçme
Arena Veri Kümesi Yöneticisi Arayüzü

Arenadata'nın temel ürünü Arena Veri Kümesi Yöneticisi (ADCM)Çeşitli şirket yazılım çözümlerini kurmak, yapılandırmak ve izlemek için kullanılır. ADCM ücretsiz olarak dağıtılır ve bir dizi yanıtlanabilir oyun kitabı olan paketler eklenerek işlevselliği genişletilir. Paketler iki türe ayrılır: kurumsal ve topluluk. İkincisi Arenadata web sitesinden ücretsiz olarak indirilebilir. Kendi paketinizi geliştirip ADCM'ye bağlamanız da mümkündür.

Hadoop 3'ün dağıtımı ve yönetimi için paketin topluluk sürümü ADCM ile birlikte sunulur, ancak Hadoop 2 için yalnızca Apaçi Ambarı alternatif olarak. Paketli depolara gelince, bunlar genel erişime açıktır, kümenin tüm bileşenleri için olağan şekilde indirilebilir ve kurulabilir. Genel olarak dağılım çok ilginç görünüyor. Eminim Cloudera Manager ve Ambari gibi çözümlere alışan, ADCM'nin kendisini beğenenler olacaktır. Bazıları için dağıtımın büyük bir artı olması da olacaktır. yazılım kaydına dahil İthal ikamesi için.

Dezavantajlarından bahsedecek olursak diğer tüm Hadoop dağıtımlarıyla aynı olacaktır. Yani:

  • Sözde "satıcı kilitlemesi". Cloudera ve Hortonworks örneklerini kullanarak şirket politikasını değiştirme riskinin her zaman bulunduğunu zaten fark ettik.
  • Apache'nin yukarı akışının gerisinde önemli bir gecikme var.

Vanilya Hadoop

Apache Bigtop ve bugün bir Hadoop dağıtımı seçme

Bildiğiniz gibi Hadoop yekpare bir ürün değil, aslında dağıtılmış dosya sistemi HDFS etrafındaki bütün bir hizmet galaksisidir. Çok az kişi tek bir dosya kümesine yetecek kadar sahip olacaktır. Bazılarının Hive'a, bazılarının Presto'ya ihtiyacı var ve ayrıca HBase ve Phoenix var; Spark giderek daha fazla kullanılıyor. Düzenleme ve veri yükleme için bazen Oozie, Sqoop ve Flume bulunur. Ve eğer güvenlik sorunu ortaya çıkarsa, Kerberos Ranger ile birlikte hemen akla geliyor.

Hadoop bileşenlerinin ikili sürümleri, ekosistem projelerinin her birinin web sitesinde tarball'lar biçiminde mevcuttur. Bunları indirebilir ve kuruluma başlayabilirsiniz, ancak bir şartla: büyük olasılıkla yapmak isteyeceğiniz "ham" ikili dosyalardan paketleri bağımsız olarak birleştirmenin yanı sıra, bileşenlerin indirilen sürümlerinin her biriyle uyumluluğuna güvenmeyeceksiniz. diğer. Tercih edilen seçenek Apache Bigtop kullanarak derlemektir. Bigtop, Apache maven depolarından derlemenize, testler çalıştırmanıza ve paketler oluşturmanıza olanak tanır. Ama bizim için çok önemli olan bileşenlerin birbiriyle uyumlu versiyonlarını Bigtop bir araya getirecek. Aşağıda bunun hakkında daha ayrıntılı olarak konuşacağız.

Apache Bigtop

Apache Bigtop ve bugün bir Hadoop dağıtımı seçme

Apache Bigtop, bir dizi uygulamayı oluşturmak, paketlemek ve test etmek için kullanılan bir araçtır.
Hadoop ve Greenplum gibi açık kaynaklı projeler. Bigtop'ta çok şey var
Salıverme. Bu yazının yazıldığı sırada en son kararlı sürüm 1.4 sürümüydü.
ve ustada 1.5 vardı. Sürümlerin farklı sürümleri farklı sürümleri kullanır
bileşenler. Örneğin, 1.4 Hadoop çekirdek bileşenlerinin 2.8.5 sürümü vardır ve ana sürümde
2.10.0. Desteklenen bileşenlerin bileşimi de değişiyor. Modası geçmiş bir şey ve
yenilenemez olan ortadan kaybolur ve onun yerine yeni, daha fazla talep gören bir şey gelir ve
mutlaka Apache ailesinden bir şey olması gerekmez.

Ayrıca Bigtop'ta birçok çatallar.

Bigtop ile tanışmaya başladığımızda, öncelikle diğer Apache projelerine kıyasla mütevazı olması, yaygınlığı ve popülerliği ve ayrıca çok küçük bir topluluk olması bizi şaşırttı. Bundan, ürün hakkında minimum düzeyde bilgi olduğu ve forumlarda ve e-posta listelerinde ortaya çıkan sorunlara çözüm aramak hiçbir sonuç vermeyebileceği sonucu çıkmaktadır. İlk başta, aracın özellikleri nedeniyle dağıtımın komple montajını tamamlamak bizim için zor bir iş gibi göründü, ancak bunun hakkında biraz sonra konuşacağız.

Bir teaser olarak, bir zamanlar Gentoo ve LFS gibi Linux evreninin bu tür projeleriyle ilgilenenler, bu şeyle çalışmayı nostaljik olarak hoş bulabilir ve kendimizin aradığı (veya hatta yazdığı) o "destansı" zamanları hatırlayabilir. Mozilla'yı yeni yamalarla düzenli olarak yeniden oluşturuyor ve yeniden oluşturuyor.

Bigtop'un en büyük avantajı, temel aldığı araçların açıklığı ve çok yönlülüğüdür. Gradle ve Apache Maven'e dayanmaktadır. Gradle, Google'ın Android oluşturmak için kullandığı araç olarak oldukça iyi biliniyor. Esnektir ve dedikleri gibi "savaşta test edilmiştir". Maven, Apache'de proje oluşturmak için standart bir araçtır ve ürünlerinin çoğu Maven aracılığıyla piyasaya sürüldüğü için burada da onsuz yapılamaz. Maven'in projenizle çalışması için gerekli olan her şeyi açıklayan ve tüm çalışmaların etrafında inşa edildiği "temel" xml dosyası olan POM'a (proje nesne modeli) dikkat etmeye değer. tam olarak
Maven'in bazı bölümleri ve Bigtop'u ilk kez kullananların genellikle karşılaştığı bazı engeller var.

Uygulama

Peki nereden başlamalısınız? İndirme sayfasına gidin ve en son kararlı sürümü arşiv olarak indirin. Burada Bigtop tarafından toplanan ikili eserleri de bulabilirsiniz. Bu arada, ortak paket yöneticileri arasında YUM ve APT desteklenmektedir.

Alternatif olarak, en son kararlı sürümü doğrudan adresinden indirebilirsiniz.
github:

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

“Bigtop”ta klonlama…

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

Ortaya çıkan ./bigtop dizini şuna benzer:

./bigtop-bigpetstore — demo uygulamaları, sentetik örnekler
./bigtop-ci - CI araçları, jenkins
./bigtop-data-generators — veri üretimi, sentetikler, duman testleri vb. için.
./bigtop-deploy - dağıtım araçları
./bigtop-packages — yapılandırmalar, komut dosyaları, montaj için yamalar, aracın ana kısmı
./bigtop-test-framework — test çerçevesi
./bigtop-tests — testlerin kendisi, yükleme ve dumanlama
./bigtop_toolchain — montaj ortamı, aletin çalışması için ortamın hazırlanması
./build — çalışma dizini oluştur
./dl — indirilen kaynaklar için dizin
./docker — liman işçisi görüntüleri oluşturma, test etme
./gradle - dereceli yapılandırma
./output – yapı yapılarının gittiği dizin
./provisioner — provizyon

Bu aşamada bizim için en ilginç şey ana yapılandırmadır. ./bigtop/bigtop.bom, desteklenen tüm bileşenleri sürümlerle birlikte görüyoruz. Burası, ürünün farklı bir sürümünü (eğer aniden onu oluşturmayı denemek istersek) veya bir derleme sürümünü (örneğin, önemli bir yama eklediysek) belirtebileceğimiz yerdir.

Alt dizin de büyük ilgi görüyor ./bigtop/bigtop-packages, bileşenlerin ve paketlerin onlarla bir araya getirilmesi süreciyle doğrudan ilgilidir.

Peki arşivi indirdik, paketini açtık veya github'dan bir klon yaptık, oluşturmaya başlayabilir miyiz?

Hayır önce ortamı hazırlayalım.

Ortamın Hazırlanması

Ve burada küçük bir geri çekilmeye ihtiyacımız var. Hemen hemen her türlü karmaşık ürünü oluşturmak için belirli bir ortama ihtiyacınız vardır - bizim durumumuzda bu JDK, aynı paylaşılan kitaplıklar, başlık dosyaları vb., araçlar, örneğin ant, ivy2 ve çok daha fazlası. Bigtop için ihtiyacınız olan ortamı elde etmenin seçeneklerinden biri de gerekli bileşenleri build host üzerine kurmaktır. Kronolojide yanılıyor olabilirim ama görünen o ki sürüm 1.0'da, burada bulabileceğiniz, önceden yapılandırılmış ve erişilebilir Docker görüntüleri oluşturma seçeneği de mevcuttu.

Ortamı hazırlamaya gelince, bunun için bir yardımcı var: Kukla.

Kök dizinden çalıştırılan aşağıdaki komutları kullanabilirsiniz.
alet, ./bigtop:

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

Veya doğrudan kukla aracılığıyla:

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"

Ne yazık ki, bu aşamada zaten zorluklar ortaya çıkabilir. Buradaki genel tavsiye, derleme ana bilgisayarında güncel, desteklenen bir dağıtım kullanmak veya liman işçisi rotasını denemektir.

montaj

Ne toplamaya çalışabiliriz? Bu sorunun cevabı komutun çıktısı ile verilecektir.

./gradlew tasks

Paket görevleri bölümünde Bigtop'un nihai eserleri olan bir dizi ürün bulunmaktadır.
-rpm veya -pkg-ind sonekiyle tanımlanabilirler (bina durumunda)
liman işçisinde). Bizim durumumuzda en ilginç olanı Hadoop'tur.

Derleme sunucumuzun ortamında derlemeyi deneyelim:

./gradlew hadoop-rpm

Bigtop, belirli bir bileşen için gereken gerekli kaynakları kendisi indirecek ve montaja başlayacaktır. Dolayısıyla aracın çalışması Maven depolarına ve diğer kaynaklara bağlıdır, yani İnternet erişimi gerektirir.

Çalışma sırasında standart çıktı üretilir. Bazen bu ve hata mesajları neyin yanlış gittiğini anlamanıza yardımcı olabilir. Ve bazen ek bilgi almanız gerekir. Bu durumda argüman eklemeye değer --info veya --debugve ayrıca yararlı olabilir –stacktrace. Posta listelerine daha sonra erişim için bir veri seti oluşturmanın uygun bir yolu vardır; anahtar --scan.

Bigtop onun yardımıyla tüm bilgileri toplayacak ve onu gradle'a koyacak, ardından bir bağlantı sağlayacak,
Bunu takip ederek yetkili bir kişi montajın neden başarısız olduğunu anlayacaktır.
Lütfen bu seçeneğin kullanıcı adları, düğümler, ortam değişkenleri vb. gibi istemediğiniz bilgilerin açığa çıkabileceğini unutmayın; bu nedenle dikkatli olun.

Çoğu zaman hatalar, montaj için gerekli bileşenlerin elde edilememesinin bir sonucudur. Genellikle kaynaklardaki bir şeyi (örneğin, kaynakların kök dizinindeki pom.xml dosyasındaki adresler) düzeltmek için bir yama oluşturarak sorunu çözebilirsiniz. Bu, onu oluşturup uygun dizine yerleştirerek yapılır. ./bigtop/bigtop-packages/src/common/oozie/ yama, örneğin formda 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>

Büyük olasılıkla, bu makaleyi okurken yukarıdaki düzeltmeyi kendiniz yapmak zorunda kalmayacaksınız.

Montaj mekanizmasına herhangi bir yama ve değişiklik eklerken, temizleme komutunu kullanarak montajı "sıfırlamanız" gerekebilir:

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

Bu işlem, bu bileşenin montajında ​​yapılan tüm değişiklikleri geri alacak ve ardından montaj yeniden gerçekleştirilecektir. Bu sefer projeyi docker görüntüsünde oluşturmaya çalışacağız:

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

Derleme CentOS altında gerçekleştirildi ancak Ubuntu altında da yapılabilir:

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

Araç, çeşitli Linux dağıtımları için paketler oluşturmanın yanı sıra, derlenmiş paketlerden oluşan bir depo da oluşturabilir, örneğin:

./gradlew yum

Ayrıca Docker'daki duman testlerini ve dağıtımı da hatırlayabilirsiniz.

Üç düğümden oluşan bir küme oluşturun:

./gradlew -Pnum_instances=3 docker-provisioner

Üç düğümden oluşan bir kümede duman testlerini çalıştırın:

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

Bir kümeyi silin:

./gradlew docker-provisioner-destroy

Liman konteynerlerinin içine bağlanmak için komutları alın:

./gradlew docker-provisioner-ssh

Durumu göster:

./gradlew docker-provisioner-status

Dağıtım görevleri hakkında daha fazla bilgiyi belgelerde bulabilirsiniz.

Testlerden bahsedersek, duman ve entegrasyon başta olmak üzere oldukça fazla sayıda var. Bunların analizi bu makalenin kapsamı dışındadır. Sadece şunu söyleyeyim, dağıtım kiti montajı ilk bakışta göründüğü kadar zor bir iş değil. Üretimimizde kullandığımız tüm bileşenleri bir araya getirip testleri geçmeyi başardık, ayrıca bunları test ortamında dağıtma ve temel işlemleri gerçekleştirme konusunda da hiçbir sorun yaşamadık.

Bigtop'ta mevcut bileşenlere ek olarak başka herhangi bir şeyi, hatta kendi yazılım geliştirmenizi bile eklemeniz mümkündür. Bütün bunlar mükemmel şekilde otomatikleştirilmiştir ve CI/CD konseptine uygundur.

Sonuç

Açıkçası, bu şekilde derlenen dağıtım hemen üretime gönderilmemelidir. Dağıtımınızı oluşturmaya ve desteklemeye gerçekten ihtiyaç varsa, buna para ve zaman yatırmanız gerektiğini anlamalısınız.

Ancak doğru yaklaşım ve profesyonel bir ekiple birleştiğinde ticari çözümlerden vazgeçmek oldukça mümkündür.

Bigtop projesinin kendisinin de geliştirilmeye ihtiyacı olduğunu ve bugün aktif olarak geliştirilmiyor gibi göründüğünü belirtmek önemlidir. Hadoop 3'ün ortaya çıkma ihtimali de belirsiz. Bu arada, Hadoop 3'ü oluşturmaya gerçekten ihtiyacınız varsa, şuna bakabilirsiniz: çatal Standartlara ek olarak Arenadata'dan
Bir dizi ek bileşen vardır (Ranger, Knox, NiFi).

Rostelecom'a gelince, bizim için Bigtop bugün değerlendirilen seçeneklerden biri. Seçeriz veya seçmeyiz bunu zaman gösterecek.

Ek

Montaja yeni bir bileşen eklemek için açıklamasını bigtop.bom ve ./bigtop-packages'e eklemeniz gerekir. Bunu mevcut bileşenlere benzeterek yapmayı deneyebilirsiniz. Anlamaya çalışın. İlk bakışta göründüğü kadar zor değil.

Ne düşünüyorsun? Görüşlerinizi yorumlarda görmekten mutluluk duyacağız ve ilginiz için teşekkür ederiz!

Makale Rostelecom veri yönetimi ekibi tarafından hazırlandı.

Kaynak: habr.com

Yorum ekle