Apache Bigtop dan memilih pengedaran Hadoop hari ini

Apache Bigtop dan memilih pengedaran Hadoop hari ini

Mungkin bukan rahsia lagi bahawa tahun lepas adalah tahun perubahan besar untuk Apache Hadoop. Tahun lepas, Cloudera dan Hortonworks bergabung (pada asasnya, pemerolehan yang terakhir), dan Mapr, disebabkan masalah kewangan yang serius, telah dijual kepada Hewlett Packard. Dan jika beberapa tahun sebelum ini, dalam kes pemasangan di premis, pilihan selalunya perlu dibuat antara Cloudera dan Hortonworks, hari ini, malangnya, kami tidak mempunyai pilihan ini. Satu lagi kejutan ialah hakikat bahawa Cloudera mengumumkan pada Februari tahun ini bahawa ia akan berhenti mengeluarkan himpunan binari pengedarannya ke dalam repositori awam, dan ia kini tersedia hanya melalui langganan berbayar. Sudah tentu, masih boleh memuat turun versi terbaharu CDH dan HDP yang dikeluarkan sebelum penghujung 2019, dan sokongan untuknya dijangkakan selama satu hingga dua tahun. Tetapi apa yang perlu dilakukan seterusnya? Bagi mereka yang sebelum ini membayar langganan, tiada apa yang berubah. Dan bagi mereka yang tidak mahu beralih kepada versi pengedaran berbayar, tetapi pada masa yang sama ingin dapat menerima versi terkini komponen kluster, serta patch dan kemas kini lain, kami telah menyediakan artikel ini. Di dalamnya kami akan mempertimbangkan pilihan yang mungkin untuk keluar dari situasi ini.

Artikel itu lebih kepada ulasan. Ia tidak akan mengandungi perbandingan pengedaran dan analisis terperinci mengenainya, dan tidak akan ada resipi untuk memasang dan mengkonfigurasinya. Apa yang akan berlaku? Kami akan bercakap secara ringkas tentang pengedaran seperti Arenadata Hadoop, yang sepatutnya mendapat perhatian kami kerana ketersediaannya, yang sangat jarang berlaku hari ini. Dan kemudian kita akan bercakap tentang Vanilla Hadoop, terutamanya tentang cara ia boleh "dimasak" menggunakan Apache Bigtop. sedia? Kemudian selamat datang ke kucing.

Arenadata Hadoop

Apache Bigtop dan memilih pengedaran Hadoop hari ini

Ini adalah kit pengedaran yang benar-benar baru dan, belum diketahui, pembangunan domestik. Malangnya, pada masa ini di HabrΓ© hanya ada artikel ini.

Maklumat lanjut boleh didapati di pejabat Online projek. Versi terbaharu pengedaran adalah berdasarkan Hadoop 3.1.2 untuk versi 3 dan 2.8.5 untuk versi 2.

Maklumat tentang peta jalan boleh didapati di sini.

Apache Bigtop dan memilih pengedaran Hadoop hari ini
Antara Muka Pengurus Kluster Arenadata

Produk teras Arenadata ialah Pengurus Kluster Arenadata (ADCM), yang digunakan untuk memasang, mengkonfigurasi dan memantau pelbagai penyelesaian perisian syarikat. ADCM diedarkan secara percuma dan fungsinya dikembangkan dengan menambahkan himpunan, yang merupakan satu set buku permainan ansible. Himpunan dibahagikan kepada dua jenis: perusahaan dan komuniti. Yang terakhir ini tersedia untuk muat turun percuma dari laman web Arenadata. Anda juga boleh membangunkan bundle anda sendiri dan menyambungkannya ke ADCM.

Untuk penggunaan dan pengurusan Hadoop 3, versi komuniti himpunan ditawarkan bersama ADCM, tetapi untuk Hadoop 2 hanya ada Apache Ambari sebagai alternatif. Bagi repositori dengan pakej, ia terbuka kepada akses awam, ia boleh dimuat turun dan dipasang dengan cara biasa untuk semua komponen kluster. Secara keseluruhan, pengedaran kelihatan sangat menarik. Saya pasti akan ada mereka yang terbiasa dengan penyelesaian seperti Pengurus Cloudera dan Ambari, dan yang akan menyukai ADCM sendiri. Bagi sesetengah orang, ia juga akan menjadi kelebihan besar daripada pengedaran dimasukkan ke dalam daftar perisian untuk penggantian import.

Jika kita bercakap tentang kelemahan, ia akan sama seperti semua pengedaran Hadoop yang lain. Iaitu:

  • Apa yang dipanggil "kunci masuk vendor". Menggunakan contoh Cloudera dan Hortonworks, kami telah menyedari bahawa sentiasa ada risiko untuk mengubah dasar syarikat.
  • Ketinggalan yang ketara di belakang Apache hulu.

Vanila Hadoop

Apache Bigtop dan memilih pengedaran Hadoop hari ini

Seperti yang anda ketahui, Hadoop bukanlah produk monolitik, tetapi, sebenarnya, keseluruhan galaksi perkhidmatan di sekitar sistem fail teragihnya HDFS. Beberapa orang akan mempunyai cukup satu kelompok fail. Sesetengah memerlukan Hive, yang lain Presto, dan kemudian terdapat HBase dan Phoenix semakin digunakan. Untuk orkestrasi dan pemuatan data, Oozie, Sqoop dan Flume kadangkala ditemui. Dan jika isu keselamatan timbul, maka Kerberos bersama Renjer segera terlintas di fikiran.

Versi binari komponen Hadoop boleh didapati di laman web setiap projek ekosistem dalam bentuk tarball. Anda boleh memuat turunnya dan memulakan pemasangan, tetapi dengan satu syarat: sebagai tambahan kepada memasang pakej secara bebas daripada binari "mentah", yang kemungkinan besar anda mahu lakukan, anda tidak akan mempunyai sebarang keyakinan terhadap keserasian versi komponen yang dimuat turun dengan setiap lain. Pilihan pilihan adalah untuk membina menggunakan Apache Bigtop. Bigtop akan membolehkan anda membina daripada repositori maven Apache, menjalankan ujian dan membina pakej. Tetapi, apa yang sangat penting bagi kami, Bigtop akan memasang versi komponen tersebut yang akan serasi antara satu sama lain. Kami akan membincangkannya dengan lebih terperinci di bawah.

Apache Bigtop

Apache Bigtop dan memilih pengedaran Hadoop hari ini

Apache Bigtop ialah alat untuk membina, membungkus dan menguji beberapa
projek sumber terbuka, seperti Hadoop dan Greenplum. Bigtop ada banyak
keluaran. Pada masa penulisan, keluaran stabil terkini ialah versi 1.4,
dan dalam master terdapat 1.5. Versi keluaran yang berbeza menggunakan versi yang berbeza
komponen. Sebagai contoh, untuk komponen teras 1.4 Hadoop mempunyai versi 2.8.5, dan dalam induk
2.10.0. Komposisi komponen yang disokong juga berubah. Sesuatu yang ketinggalan zaman dan
yang tidak boleh diperbaharui hilang, dan menggantikannya datang sesuatu yang baru, lebih banyak permintaan, dan
ia tidak semestinya sesuatu daripada keluarga Apache itu sendiri.

Selain itu, Bigtop mempunyai banyak garpu.

Apabila kami mula mengenali Bigtop, kami pertama sekali terkejut dengannya yang sederhana, berbanding dengan projek Apache lain, kelaziman dan populariti, serta komuniti yang sangat kecil. Ia berikutan daripada ini bahawa terdapat maklumat minimum pada produk, dan mencari penyelesaian kepada masalah yang timbul di forum dan senarai mel mungkin tidak menghasilkan apa-apa sama sekali. Pada mulanya, ternyata menjadi tugas yang sukar bagi kami untuk menyelesaikan pemasangan lengkap pengedaran kerana ciri-ciri alat itu sendiri, tetapi kami akan membincangkannya sedikit kemudian.

Sebagai penggoda, mereka yang pada satu masa berminat dengan projek-projek alam semesta Linux seperti Gentoo dan LFS mungkin merasa nostalgia menyenangkan untuk bekerja dengan perkara ini dan mengingati masa-masa "epik" ketika kita sendiri sedang mencari (atau menulis) membina semula dan kerap membina semula Mozilla dengan tampalan baharu.

Kelebihan besar Bigtop ialah keterbukaan dan serba boleh alatan yang menjadi asasnya. Ia berdasarkan Gradle dan Apache Maven. Gradle cukup terkenal sebagai alat yang digunakan Google untuk membina Android. Ia fleksibel, dan, seperti yang mereka katakan, "diuji dalam pertempuran." Maven ialah alat standard untuk membina projek dalam Apache sendiri, dan memandangkan kebanyakan produknya dikeluarkan melalui Maven, ia tidak boleh dilakukan tanpanya di sini sama ada. Perlu diberi perhatian kepada POM (model objek projek) - fail xml "asas" yang menerangkan semua yang diperlukan untuk Maven bekerja dengan projek anda, di mana semua kerja dibina. Tepat di
bahagian Maven dan terdapat beberapa halangan yang biasanya dihadapi oleh pengguna Bigtop kali pertama.

Amalan

Jadi di mana anda harus bermula? Pergi ke halaman muat turun dan muat turun versi stabil terkini sebagai arkib. Anda juga boleh menemui artifak binari yang dikumpul oleh Bigtop di sana. By the way, antara pengurus pakej biasa, YUM dan APT disokong.

Sebagai alternatif, anda boleh memuat turun keluaran stabil terkini terus daripada
github:

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

Mengklon dalam "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), Π³ΠΎΡ‚ΠΎΠ²ΠΎ.

Direktori ./bigtop yang terhasil kelihatan seperti ini:

./bigtop-bigpetstore β€” aplikasi demo, contoh sintetik
./bigtop-ci β€” Kit alat CI, jenkins
./bigtop-data-generators β€” penjanaan data, sintetik, untuk ujian asap, dsb.
./bigtop-deploy - alat penempatan
./bigtop-packages β€” konfigurasi, skrip, tampalan untuk pemasangan, bahagian utama alat
./bigtop-test-framework - rangka kerja ujian
./bigtop-tests β€” ujian itu sendiri, memuatkan dan asap
./bigtop_toolchain β€” persekitaran untuk pemasangan, menyediakan persekitaran untuk alat berfungsi
./build β€” membina direktori kerja
./dl β€” direktori untuk sumber yang dimuat turun
./docker β€” membina dalam imej docker, ujian
./gradle - konfigurasi gradle
./output – direktori tempat membina artifak pergi
./provisioner - peruntukan

Perkara yang paling menarik bagi kami pada peringkat ini ialah konfigurasi utama ./bigtop/bigtop.bom, di mana kita melihat semua komponen yang disokong dengan versi. Di sinilah kita boleh menentukan versi produk yang berbeza (jika kita tiba-tiba mahu mencuba untuk membinanya) atau versi binaan (jika, sebagai contoh, kami menambah tampung yang ketara).

Subdirektori juga sangat menarik ./bigtop/bigtop-packages, yang berkaitan secara langsung dengan proses memasang komponen dan pakej dengannya.

Jadi, kami memuat turun arkib, membongkarnya atau membuat klon daripada github, bolehkah kami mula membina?

Tidak, mari kita sediakan persekitaran dahulu.

Menyediakan Alam Sekitar

Dan di sini kita memerlukan pengunduran kecil. Untuk membina hampir mana-mana produk yang lebih atau kurang kompleks, anda memerlukan persekitaran tertentu - dalam kes kami, ini ialah JDK, perpustakaan kongsi yang sama, fail pengepala, dll., Alat, contohnya, ant, ivy2 dan banyak lagi. Salah satu pilihan untuk mendapatkan persekitaran yang anda perlukan untuk Bigtop ialah memasang komponen yang diperlukan pada hos binaan. Saya mungkin salah dalam kronologi, tetapi nampaknya dengan versi 1.0 terdapat juga pilihan untuk membina imej Docker yang telah dikonfigurasikan dan boleh diakses, yang boleh didapati di sini.

Bagi penyediaan persekitaran, ada pembantu untuk ini - Boneka.

Anda boleh menggunakan arahan berikut, jalankan dari direktori root
alat, ./bigtop:

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

Atau terus melalui boneka:

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"

Malangnya, kesukaran mungkin timbul pada peringkat ini. Nasihat umum di sini ialah menggunakan pengedaran yang disokong, terkini pada hos binaan, atau cuba laluan docker.

Perhimpunan

Apa yang boleh kita cuba kumpulkan? Jawapan kepada soalan ini akan diberikan oleh output arahan

./gradlew tasks

Dalam bahagian Tugas pakej terdapat beberapa produk yang merupakan artifak akhir Bigtop.
Mereka boleh dikenal pasti dengan akhiran -rpm atau -pkg-ind (dalam kes bangunan
dalam docker). Dalam kes kami, yang paling menarik ialah Hadoop.

Mari cuba bina dalam persekitaran pelayan binaan kami:

./gradlew hadoop-rpm

Bigtop sendiri akan memuat turun sumber yang diperlukan untuk komponen tertentu dan memulakan pemasangan. Oleh itu, operasi alat ini bergantung pada repositori Maven dan sumber lain, iaitu, ia memerlukan akses Internet.

Semasa operasi, output standard dijana. Kadangkala ia dan mesej ralat boleh membantu anda memahami perkara yang salah. Dan kadangkala anda perlu mendapatkan maklumat tambahan. Dalam kes ini adalah bernilai menambah hujah --info atau --debug, dan mungkin juga berguna –stacktrace. Terdapat cara yang mudah untuk menjana set data untuk akses seterusnya kepada senarai mel, kuncinya --scan.

Dengan bantuannya, bigtop akan mengumpulkan semua maklumat dan memasukkannya ke dalam gradle, selepas itu ia akan memberikan pautan,
dengan mengikutinya, orang yang cekap akan dapat memahami mengapa perhimpunan itu gagal.
Harap maklum bahawa pilihan ini mungkin mendedahkan maklumat yang anda tidak mahu, seperti nama pengguna, nod, pembolehubah persekitaran, dsb., jadi berhati-hati.

Selalunya ralat adalah akibat daripada ketidakupayaan untuk mendapatkan sebarang komponen yang diperlukan untuk pemasangan. Biasanya, anda boleh membetulkan masalah dengan membuat tampalan untuk membetulkan sesuatu dalam sumber, contohnya, alamat dalam pom.xml dalam direktori akar sumber. Ini dilakukan dengan mencipta dan meletakkannya dalam direktori yang sesuai ./bigtop/bigtop-packages/src/common/oozie/ tampalan, sebagai contoh, dalam bentuk 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>

Kemungkinan besar, pada masa membaca artikel ini, anda tidak perlu melakukan pembaikan di atas sendiri.

Apabila memperkenalkan sebarang tampalan dan perubahan pada mekanisme pemasangan, anda mungkin perlu "set semula" pemasangan menggunakan arahan pembersihan:

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

Operasi ini akan melancarkan semula semua perubahan pada pemasangan komponen ini, selepas itu pemasangan akan dilakukan semula. Kali ini kami akan cuba membina projek dalam imej 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

Pembinaan dilakukan di bawah CentOS, tetapi juga boleh dilakukan di bawah Ubuntu:

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

Selain membina pakej untuk pelbagai pengedaran Linux, alat ini boleh mencipta repositori dengan pakej yang disusun, contohnya:

./gradlew yum

Anda juga boleh mengingati tentang ujian asap dan penggunaan dalam Docker.

Buat kelompok tiga nod:

./gradlew -Pnum_instances=3 docker-provisioner

Jalankan ujian asap dalam kelompok tiga nod:

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

Padamkan kelompok:

./gradlew docker-provisioner-destroy

Dapatkan arahan untuk menyambung di dalam bekas docker:

./gradlew docker-provisioner-ssh

Tunjukkan status:

./gradlew docker-provisioner-status

Anda boleh membaca lebih lanjut tentang tugasan Deployment dalam dokumentasi.

Jika kita bercakap tentang ujian, terdapat sejumlah besar daripada mereka, terutamanya asap dan integrasi. Analisis mereka adalah di luar skop artikel ini. Biar saya katakan bahawa memasang kit pengedaran bukanlah satu tugas yang sukar seperti yang kelihatan pada pandangan pertama. Kami berjaya memasang dan lulus ujian ke atas semua komponen yang kami gunakan dalam pengeluaran kami, dan kami juga tidak menghadapi masalah untuk mengaturnya dan melaksanakan operasi asas dalam persekitaran ujian.

Sebagai tambahan kepada komponen sedia ada dalam Bigtop, adalah mungkin untuk menambah apa-apa lagi, malah pembangunan perisian anda sendiri. Semua ini diautomasikan dengan sempurna dan sesuai dengan konsep CI/CD.

Kesimpulan

Jelas sekali, pengedaran yang disusun dengan cara ini tidak seharusnya dihantar segera ke pengeluaran. Anda perlu memahami bahawa jika terdapat keperluan sebenar untuk membina dan menyokong pengedaran anda, maka anda perlu melabur wang dan masa dalam hal ini.

Walau bagaimanapun, dalam kombinasi dengan pendekatan yang betul dan pasukan profesional, agak mungkin dilakukan tanpa penyelesaian komersial.

Adalah penting untuk ambil perhatian bahawa projek Bigtop itu sendiri memerlukan pembangunan dan nampaknya tidak sedang dibangunkan secara aktif hari ini. Prospek Hadoop 3 muncul di dalamnya juga tidak jelas, jika anda mempunyai keperluan sebenar untuk membina Hadoop 3, anda boleh melihatnya garpu daripada Arenadata, di mana, sebagai tambahan kepada standard
Terdapat beberapa komponen tambahan (Ranger, Knox, NiFi).

Bagi Rostelecom, bagi kami Bigtop adalah salah satu pilihan yang dipertimbangkan hari ini. Sama ada kita memilihnya atau tidak, masa akan menentukan.

Umbai usus

Untuk memasukkan komponen baharu dalam pemasangan, anda perlu menambahkan penerangannya pada bigtop.bom dan ./bigtop-packages. Anda boleh cuba melakukan ini dengan analogi dengan komponen sedia ada. Cuba fikirkan. Ia tidak sesukar yang kelihatan pada pandangan pertama.

Apa pendapat kamu? Kami akan gembira melihat pendapat anda dalam ulasan dan terima kasih atas perhatian anda!

Artikel itu disediakan oleh pasukan pengurusan data Rostelecom

Sumber: www.habr.com

Tambah komen