Apache Bigtop va bugungi kunda Hadoop tarqatilishini tanlash

Apache Bigtop va bugungi kunda Hadoop tarqatilishini tanlash

Hech kimga sir emaski, o'tgan yil Apache Hadoop uchun katta o'zgarishlar yili bo'ldi. O'tgan yili Cloudera va Hortonworks birlashdi (asosan, ikkinchisini sotib olish) va Mapr jiddiy moliyaviy muammolar tufayli Hewlett Packardga sotilgan. Va agar bir necha yil oldin, mahalliy o'rnatish holatlarida, ko'pincha Cloudera va Hortonworks o'rtasida tanlov qilish kerak bo'lsa, bugungi kunda, afsuski, bizda bunday tanlov yo'q. Yana bir ajablantiradigan narsa shundaki, Cloudera joriy yilning fevral oyida o'z tarqatishning ikkilik yig'ilishlarini ommaviy omborga chiqarishni to'xtatishini e'lon qildi va endi ular faqat pullik obuna orqali mavjud. Albatta, 2019 yil oxirigacha chiqarilgan CDH va HDP ning so'nggi versiyalarini yuklab olish hali ham mumkin va ularni qo'llab-quvvatlash bir yildan ikki yilgacha kutilmoqda. Ammo keyin nima qilish kerak? Ilgari obuna uchun pul to'laganlar uchun hech narsa o'zgarmadi. Va tarqatishning pulli versiyasiga o'tishni istamaydigan, lekin ayni paytda klaster komponentlarining so'nggi versiyalarini, shuningdek, yamoqlarni va boshqa yangilanishlarni olishni xohlaydiganlar uchun biz ushbu maqolani tayyorladik. Unda biz ushbu vaziyatdan chiqishning mumkin bo'lgan variantlarini ko'rib chiqamiz.

Maqola ko'proq sharhdir. Unda taqsimotlarni taqqoslash va ularni batafsil tahlil qilish bo'lmaydi va ularni o'rnatish va sozlash uchun retseptlar bo'lmaydi. Nima bo'ladi? Biz Arenadata Hadoop kabi tarqatish haqida qisqacha gaplashamiz, u bugungi kunda juda kam uchraydigan qulayligi tufayli haqli ravishda bizning e'tiborimizga loyiqdir. Va keyin biz Vanilla Hadoop haqida gaplashamiz, asosan uni Apache Bigtop yordamida qanday qilib “pishirish” mumkinligi haqida. Tayyormisiz? Keyin mushukka xush kelibsiz.

Arenadata Hadoop

Apache Bigtop va bugungi kunda Hadoop tarqatilishini tanlash

Bu butunlay yangi va hali kam ma'lum bo'lgan ichki rivojlanish to'plami. Afsuski, hozirda Habreda faqat bor ushbu maqola.

Batafsil ma'lumotni rasmiy saytdan olishingiz mumkin сайт loyiha. Tarqatishning so'nggi versiyalari 3.1.2-versiya uchun Hadoop 3 va 2.8.5-versiya uchun 2-ga asoslangan.

Yo'l xaritasi haqida ma'lumot olish mumkin shu yerda.

Apache Bigtop va bugungi kunda Hadoop tarqatilishini tanlash
Arenadata klaster menejeri interfeysi

Arenadata-ning asosiy mahsuloti Arenadata klaster menejeri (ADCM), bu kompaniyaning turli dasturiy echimlarini o'rnatish, sozlash va monitoring qilish uchun ishlatiladi. ADCM bepul tarqatiladi va uning funksionalligi o'yin kitoblari to'plami bo'lgan to'plamlarni qo'shish orqali kengaytiriladi. To'plamlar ikki turga bo'linadi: korxona va jamoa. Ikkinchisini Arenadata veb-saytidan bepul yuklab olish mumkin. O'z to'plamingizni ishlab chiqish va uni ADCM ga ulash ham mumkin.

Hadoop 3-ni joylashtirish va boshqarish uchun ADCM bilan birgalikda paketning jamoaviy versiyasi taklif etiladi, ammo Hadoop 2 uchun faqat mavjud Apache Ambari muqobil sifatida. Paketli omborlarga kelsak, ular umumiy foydalanish uchun ochiq, ular klasterning barcha komponentlari uchun odatiy tarzda yuklab olinishi va o'rnatilishi mumkin. Umuman olganda, tarqatish juda qiziqarli ko'rinadi. Ishonchim komilki, Cloudera Manager va Ambari kabi echimlarga o'rganib qolganlar va ADCMni yoqtiradiganlar bo'ladi. Ba'zilar uchun bu tarqatish katta ortiqcha bo'ladi dasturiy ta'minot registriga kiritilgan import o'rnini bosish uchun.

Agar kamchiliklar haqida gapiradigan bo'lsak, ular boshqa barcha Hadoop tarqatishlari bilan bir xil bo'ladi. Aynan:

  • "Sotuvchini blokirovka qilish" deb ataladigan narsa. Cloudera va Hortonworks misollaridan foydalanib, biz allaqachon kompaniya siyosatini o'zgartirish xavfi mavjudligini tushundik.
  • Yuqori oqimda Apache dan sezilarli ortda qolish.

Vanilla Hadoop

Apache Bigtop va bugungi kunda Hadoop tarqatilishini tanlash

Ma'lumki, Hadoop monolit mahsulot emas, balki HDFS taqsimlangan fayl tizimi atrofidagi xizmatlarning butun galaktikasidir. Bir nechta odam bitta fayl klasteriga ega bo'ladi. Ba'zilarga Hive kerak, boshqalari Presto, keyin esa HBase va Phoenix bor; Spark tobora ko'proq foydalanilmoqda. Orkestratsiya va ma'lumotlarni yuklash uchun ba'zan Oozie, Sqoop va Flume topiladi. Va agar xavfsizlik masalasi paydo bo'lsa, Kerberos Ranger bilan birgalikda darhol xayolga keladi.

Hadoop komponentlarining ikkilik versiyalari har bir ekotizim loyihasining veb-saytida tarball shaklida mavjud. Siz ularni yuklab olishingiz va o'rnatishni boshlashingiz mumkin, ammo bitta shart bilan: "xom" ikkiliklardan paketlarni mustaqil ravishda yig'ishdan tashqari, siz buni qilishni xohlaysiz, siz komponentlarning yuklab olingan versiyalarining har biriga mos kelishiga ishonchingiz komil bo'lmaydi. boshqa. Ma'qul variant - Apache Bigtop yordamida qurish. Bigtop sizga Apache maven omborlaridan qurish, testlarni o'tkazish va paketlar yaratish imkonini beradi. Lekin, biz uchun juda muhim bo'lgan narsa, Bigtop bir-biriga mos keladigan komponentlarning versiyalarini yig'adi. Bu haqda quyida batafsilroq gaplashamiz.

Apache Bigtop

Apache Bigtop va bugungi kunda Hadoop tarqatilishini tanlash

Apache Bigtop - bu bir qator yaratish, qadoqlash va sinovdan o'tkazish uchun vosita
Hadoop va Greenplum kabi ochiq manbali loyihalar. Bigtopda ko'p narsa bor
relizlar. Yozish vaqtida so'nggi barqaror versiya 1.4 versiyasi edi,
va magistrda 1.5 bor edi. Relizlarning turli versiyalarida turli xil versiyalar qo'llaniladi
komponentlar. Masalan, 1.4 Hadoop uchun asosiy komponentlar 2.8.5 versiyasiga ega va masterda
2.10.0. Qo'llab-quvvatlanadigan komponentlarning tarkibi ham o'zgarmoqda. Nimadir eskirgan va
qayta tiklanmaydigan narsa ketadi va uning o'rniga yangi, ko'proq talab qilinadigan narsa keladi va
Bu Apache oilasining o'zidan bo'lishi shart emas.

Bundan tashqari, Bigtop-da juda ko'p vilkalar.

Biz Bigtop bilan tanishishni boshlaganimizda, biz birinchi navbatda uning boshqa Apache loyihalariga nisbatan kamtarligi, tarqalishi va mashhurligi, shuningdek, juda kichik hamjamiyat bilan hayratda qoldik. Bundan kelib chiqadiki, mahsulot haqida minimal ma'lumotlar mavjud va forumlarda va pochta ro'yxatlarida paydo bo'lgan muammolarni hal qilish yo'llarini izlash hech qanday natija bermasligi mumkin. Dastlab, vositaning o'ziga xos xususiyatlari tufayli tarqatishni to'liq yig'ish biz uchun qiyin vazifa bo'lib chiqdi, ammo biz bu haqda biroz keyinroq gaplashamiz.

Tizer sifatida, bir vaqtlar Gentoo va LFS kabi Linux olamining loyihalariga qiziqqanlar, bu narsa bilan ishlash nostalgik darajada yoqimli bo'lishi mumkin va o'zimiz qidirgan (yoki hatto yozgan) "epik" vaqtlarni eslashi mumkin. ebuilds va muntazam ravishda yangi yamoqlar bilan Mozilla qayta qurilgan.

Bigtop-ning katta afzalligi - u asoslangan vositalarning ochiqligi va ko'p qirraliligi. U Gradle va Apache Maven-ga asoslangan. Gradle Google Android-ni yaratishda foydalanadigan vosita sifatida yaxshi tanilgan. U moslashuvchan va ular aytganidek, "jangovar sinovdan o'tgan". Maven - bu Apache-ning o'zida loyihalarni qurish uchun standart vosita va uning ko'pgina mahsulotlari Maven orqali chiqarilganligi sababli, bu erda ham buni amalga oshirib bo'lmaydi. POMga (loyiha ob'ekti modeli) e'tibor qaratish lozim - Maven sizning loyihangiz bilan ishlashi uchun zarur bo'lgan hamma narsani tavsiflovchi "asosiy" xml fayli, uning atrofida barcha ishlar qurilgan. Aynan da
Maven qismlari va Bigtop foydalanuvchilari odatda birinchi marta duch keladigan ba'zi to'siqlar mavjud.

Amaliyot

Xo'sh, qaerdan boshlash kerak? Yuklab olish sahifasiga o'ting va so'nggi barqaror versiyani arxiv sifatida yuklab oling. U erda Bigtop tomonidan to'plangan ikkilik artefaktlarni ham topishingiz mumkin. Aytgancha, umumiy paket menejerlari orasida YUM va APT qo'llab-quvvatlanadi.

Shu bilan bir qatorda, so'nggi barqaror versiyani to'g'ridan-to'g'ri yuklab olishingiz mumkin
github:

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

“Bigtop”da klonlash…

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

Olingan ./bigtop katalogi quyidagicha ko'rinadi:

./bigtop-bigpetstore — demo ilovalar, sintetik misollar
./bigtop-ci - CI asboblari, jenkins
./bigtop-data-generators — maʼlumotlarni ishlab chiqarish, sintetika, tutun sinovlari uchun va boshqalar.
./bigtop-deploy - joylashtirish vositalari
./bigtop-packages — konfiguratsiyalar, skriptlar, yig'ish uchun yamalar, asbobning asosiy qismi
./bigtop-test-framework - sinov tizimi
./bigtop-tests - sinovlar o'zlari, yuk va tutun
./bigtop_toolchain — yig'ish uchun muhit, asbobning ishlashi uchun muhitni tayyorlash
./build — ishchi katalog yaratish
./dl — yuklab olingan manbalar uchun katalog
./docker — docker tasvirlarida qurish, test qilish
./gradle - gradle konfiguratsiyasi
./output - qurilish artefaktlari boradigan katalog
./provisioner - ta'minlash

Ushbu bosqichda biz uchun eng qiziqarli narsa - bu asosiy konfiguratsiya ./bigtop/bigtop.bom, unda biz barcha qo'llab-quvvatlanadigan komponentlarni versiyalari bilan ko'ramiz. Bu erda biz mahsulotning boshqa versiyasini (agar biz to'satdan uni qurishga harakat qilmoqchi bo'lsak) yoki qurilish versiyasini (masalan, biz muhim yamoq qo'shgan bo'lsak) belgilashimiz mumkin.

Kichik katalog ham katta qiziqish uyg'otadi ./bigtop/bigtop-packages, bu ular bilan komponentlar va paketlarni yig'ish jarayoni bilan bevosita bog'liq.

Shunday qilib, biz arxivni yuklab oldik, uni ochdik yoki github-dan klon yaratdik, qurishni boshlay olamizmi?

Yo'q, avval atrof-muhitni tayyorlaylik.

Atrof muhitni tayyorlash

Va bu erda bizga kichik bir chekinish kerak. Deyarli har qanday ko'proq yoki kamroq murakkab mahsulotni yaratish uchun sizga ma'lum bir muhit kerak - bizning holatlarimizda bu JDK, bir xil umumiy kutubxonalar, sarlavha fayllari va boshqalar, asboblar, masalan, chumoli, ivy2 va boshqalar. Bigtop uchun zarur bo'lgan muhitni olish variantlaridan biri bu qurilish xostiga kerakli komponentlarni o'rnatishdir. Xronologiyada men noto'g'ri bo'lishim mumkin edi, lekin 1.0 versiyasida oldindan sozlangan va foydalanish mumkin bo'lgan Docker tasvirlarini yaratish imkoniyati ham mavjud edi, ularni bu erda topish mumkin.

Atrof-muhitni tayyorlashga kelsak, buning uchun yordamchi bor - Qo'g'irchoq.

Siz quyidagi buyruqlardan foydalanishingiz mumkin, ildiz katalogidan ishga tushirishingiz mumkin
asbob, ./bigtop:

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

Yoki to'g'ridan-to'g'ri qo'g'irchoq orqali:

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"

Afsuski, ushbu bosqichda allaqachon qiyinchiliklar paydo bo'lishi mumkin. Bu erda umumiy maslahat - qo'llab-quvvatlanadigan taqsimotdan foydalanish, o'rnatish xostidagi yangilanish yoki docker marshrutidan foydalanish.

O'rnatish

Biz nimani yig'ishga harakat qilishimiz mumkin? Bu savolga javob buyruqning chiqishi bilan beriladi

./gradlew tasks

Paket vazifalari bo'limida Bigtopning yakuniy artefaktlari bo'lgan bir qator mahsulotlar mavjud.
Ularni -rpm yoki -pkg-ind qo'shimchasi bilan aniqlash mumkin (qurilish holatida
dockerda). Bizning holatlarimizda eng qiziqarlisi Hadoop.

Qurilish serverimiz muhitida qurishga harakat qilaylik:

./gradlew hadoop-rpm

Bigtopning o'zi ma'lum bir komponent uchun zarur bo'lgan manbalarni yuklab oladi va yig'ishni boshlaydi. Shunday qilib, asbobning ishlashi Maven omborlari va boshqa manbalarga bog'liq, ya'ni Internetga kirishni talab qiladi.

Ish paytida standart chiqish hosil bo'ladi. Ba'zan u va xato xabarlari nima noto'g'ri bo'lganini tushunishga yordam beradi. Va ba'zida siz qo'shimcha ma'lumot olishingiz kerak bo'ladi. Bunday holda, dalillarni qo'shishga arziydi --info yoki --debug, shuningdek foydali bo'lishi mumkin –stacktrace. Pochta ro'yxatlariga keyingi kirish uchun ma'lumotlar to'plamini yaratishning qulay usuli mavjud, kalit --scan.

Uning yordami bilan bigtop barcha ma'lumotlarni to'playdi va uni gradusga qo'yadi, shundan so'ng u havolani taqdim etadi,
bunga rioya qilgan holda, vakolatli shaxs yig'ilish nima uchun muvaffaqiyatsiz bo'lganini tushunishi mumkin.
Shuni yodda tutingki, bu parametr foydalanuvchi nomlari, tugunlar, muhit oʻzgaruvchilari va boshqalar kabi siz istamagan maʼlumotlarni oshkor qilishi mumkin, shuning uchun ehtiyot boʻling.

Ko'pincha xatolar yig'ish uchun zarur bo'lgan komponentlarni olishning iloji yo'qligining natijasidir. Odatda, siz manbalarda biror narsani tuzatish uchun yamoq yaratish orqali muammoni hal qilishingiz mumkin, masalan, manbalarning ildiz katalogidagi pom.xml manzillari. Buni yaratish va tegishli katalogga joylashtirish orqali amalga oshiriladi ./bigtop/bigtop-packages/src/common/oozie/ yamoq, masalan, shaklda 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>

Ehtimol, ushbu maqolani o'qiyotganda, yuqoridagi tuzatishni o'zingiz qilishingiz shart emas.

Yig'ish mexanizmiga har qanday yamoq va o'zgartirishlar kiritilganda, tozalash buyrug'i yordamida yig'ilishni "qayta tiklash" kerak bo'lishi mumkin:

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

Ushbu operatsiya ushbu komponentni yig'ishdagi barcha o'zgarishlarni orqaga qaytaradi, shundan so'ng yig'ish yana amalga oshiriladi. Bu safar biz loyihani docker tasvirida qurishga harakat qilamiz:

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

Qurilish CentOS ostida amalga oshirildi, lekin Ubuntu ostida ham amalga oshirilishi mumkin:

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

Turli xil Linux distributivlari uchun paketlar yaratishdan tashqari, asbob kompilyatsiya qilingan paketlar bilan omborni yaratishi mumkin, masalan:

./gradlew yum

Docker-da tutun sinovlari va tarqatish haqida ham eslashingiz mumkin.

Uch tugundan iborat klaster yarating:

./gradlew -Pnum_instances=3 docker-provisioner

Tutun sinovlarini uchta tugunli klasterda o'tkazing:

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

Klasterni o'chirish:

./gradlew docker-provisioner-destroy

Docker konteynerlari ichida ulanish uchun buyruqlarni oling:

./gradlew docker-provisioner-ssh

Holatni ko‘rsatish:

./gradlew docker-provisioner-status

Hujjatlarda tarqatish vazifalari haqida ko'proq o'qishingiz mumkin.

Agar testlar haqida gapiradigan bo'lsak, ularning soni juda ko'p, asosan tutun va integratsiya. Ularning tahlili ushbu maqola doirasidan tashqarida. Aytmoqchimanki, taqsimotni yig'ish birinchi qarashda ko'rinadigan darajada qiyin ish emas. Biz o'z ishlab chiqarishimizda foydalanadigan barcha komponentlarni yig'ish va sinovdan o'tkazishga muvaffaq bo'ldik, shuningdek, ularni joylashtirish va sinov muhitida asosiy operatsiyalarni bajarishda hech qanday muammoga duch kelmadik.

Bigtop-dagi mavjud komponentlarga qo'shimcha ravishda, boshqa narsalarni, hatto o'zingizning dasturiy ta'minotni ishlab chiqishingizni ham qo'shishingiz mumkin. Bularning barchasi mukammal avtomatlashtirilgan va CI/CD kontseptsiyasiga mos keladi.

xulosa

Shubhasiz, shu tarzda tuzilgan taqsimot darhol ishlab chiqarishga yuborilmasligi kerak. Siz tushunishingiz kerakki, agar sizning taqsimotingizni qurish va qo'llab-quvvatlashga haqiqiy ehtiyoj bo'lsa, unda siz bunga pul va vaqt sarflashingiz kerak.

Biroq, to'g'ri yondashuv va professional jamoa bilan birgalikda, tijorat echimlarisiz qilish mumkin.

Shuni ta'kidlash kerakki, Bigtop loyihasining o'zi rivojlanishga muhtoj va bugungi kunda faol rivojlanayotgan ko'rinmaydi. Unda Hadoop 3 ning paydo bo'lishi istiqboli ham noaniq.Aytgancha, agar sizda Hadoop 3 ni yaratishga chindan ham ehtiyojingiz bo'lsa, qarashingiz mumkin sanchqi Arenadata'dan, unda standartdan tashqari
Bir qator qo'shimcha komponentlar mavjud (Ranger, Knox, NiFi).

Rostelekomga kelsak, biz uchun Bigtop bugungi kunda ko'rib chiqilayotgan variantlardan biridir. Biz tanlaymizmi yoki yo'qmi, buni vaqt ko'rsatadi.

ilova

Assambleyaga yangi komponentni kiritish uchun uning tavsifini bigtop.bom va ./bigtop-packages sahifalariga qo'shishingiz kerak. Buni mavjud komponentlar bilan taqqoslash orqali amalga oshirishga harakat qilishingiz mumkin. Buni tushunishga harakat qiling. Bu birinchi qarashda ko'rinadigan darajada qiyin emas.

Siz nima deb o'ylaysiz? Izohlarda fikringizni ko'rishdan xursand bo'lamiz va e'tiboringiz uchun rahmat!

Maqola Rostelecom ma'lumotlarini boshqarish guruhi tomonidan tayyorlangan

Manba: www.habr.com

a Izoh qo'shish