Apache Bigtop жана бүгүн Hadoop бөлүштүрүүнү тандоо

Apache Bigtop жана бүгүн Hadoop бөлүштүрүүнү тандоо

Өткөн жыл Apache Hadoop үчүн чоң өзгөрүүлөрдүн жылы болгондугу эч кимге жашыруун эмес. Өткөн жылы Cloudera жана Hortonworks бириккен (негизинен, акыркысын сатып алуу), ал эми Mapr олуттуу каржылык көйгөйлөрдөн улам Hewlett Packardга сатылган. Эгерде бир нече жыл мурун, жер-жерлерде орнотулган учурда, тандоо көбүнчө Cloudera жана Hortonworks ортосунда жасалышы керек болсо, бүгүн, тилекке каршы, бизде мындай тандоо жок. Дагы бир күтүлбөгөн нерсе, Cloudera ушул жылдын февраль айында бөлүштүрүүнүн бинардык ассамблеяларын коомдук репозиторийге чыгарууну токтоторун жарыялаган жана алар азыр акы төлөнүүчү жазылуу аркылуу гана жеткиликтүү. Албетте, 2019-жылдын аягына чейин чыгарылган CDH жана HDPтин акыркы версияларын жүктөп алуу дагы деле мүмкүн жана аларды колдоо бир жылдан эки жылга чейин күтүлүүдө. Бирок андан ары эмне кылуу керек? Мурда жазылуу үчүн төлөгөн адамдар үчүн эч нерсе өзгөргөн жок. Ал эми бөлүштүрүүнүн акы төлөнүүчү версиясына өтүүнү каалабагандар, бирок ошол эле учурда кластердик компоненттердин акыркы версияларын, ошондой эле патчтарды жана башка жаңыртууларды алуу мүмкүнчүлүгүнө ээ болууну каалагандар үчүн биз бул макаланы даярдадык. Анда биз бул абалдан чыгуунун мүмкүн болгон варианттарын карап чыгабыз.

Макала көбүрөөк карап чыгуу болуп саналат. Анда бөлүштүрүүнүн салыштыруусу жана алардын деталдуу талдоосу камтылбайт жана аларды орнотуу жана конфигурациялоо үчүн рецепттер болбойт. Эмне болот? Биз Arenadata Hadoop сыяктуу бөлүштүрүү жөнүндө кыскача сөз кылабыз, ал бүгүнкү күндө өтө сейрек кездешүүчү жеткиликтүүлүгүнө байланыштуу биздин көңүл буруубузга татыктуу. Анан биз Vanilla Hadoop жөнүндө сүйлөшөбүз, негизинен аны Apache Bigtop аркылуу кантип "бышыруу" мүмкүн экендиги жөнүндө. Даярсызбы? Анда мышыкка кош келиңиз.

Arenadata Hadoop

Apache Bigtop жана бүгүн Hadoop бөлүштүрүүнү тандоо

Бул толугу менен жаңы жана азырынча анча белгилүү эмес, ата мекендик өнүгүүнүн бөлүштүрүү комплекти. Тилекке каршы, учурда Habré боюнча гана бар бул макалада.

Көбүрөөк маалыматты расмий сайтынан тапса болот сайты долбоор. Бөлүштүрүүнүн акыркы версиялары 3.1.2-версия үчүн Hadoop 3 жана 2.8.5 версиясына негизделген.

Жол картасы тууралуу маалыматты тапса болот бул жерде.

Apache Bigtop жана бүгүн Hadoop бөлүштүрүүнү тандоо
Arenadata Cluster Manager интерфейси

Arenadata негизги продукт болуп саналат Arenadata кластер менеджери (ADCM), ар кандай компаниянын программалык чечимдерин орнотуу, конфигурациялоо жана көзөмөлдөө үчүн колдонулат. ADCM акысыз таратылат жана анын функционалдуулугу ansible-ойнотуу китептеринин топтому болгон таңгактарды кошуу менен кеңейтилген. Топтомдор эки түргө бөлүнөт: ишкана жана жамаат. Акыркысын Arenadata веб-сайтынан акысыз жүктөп алууга болот. Ошондой эле өзүңүздүн таңгагыңызды иштеп чыгып, аны ADCMге туташтырсаңыз болот.

Hadoop 3ти жайылтуу жана башкаруу үчүн таңгактын жамааттык версиясы ADCM менен бирге сунушталат, бирок Hadoop 2 үчүн гана бар Apache Ambari альтернатива катары. Пакеттери бар репозиторийлерге келсек, алар жалпыга ачык, аларды кластердин бардык компоненттери үчүн кадимки жол менен жүктөп алууга жана орнотууга болот. Жалпысынан алганда, бөлүштүрүү абдан кызыктуу көрүнөт. Cloudera Manager жана Ambari сыяктуу чечимдерге көнүп калгандар жана ADCMди жактыргандар болот деп ишенем. Кээ бирөөлөр үчүн бул бөлүштүрүү да чоң плюс болот программалык камсыздоо реестрине киргизилген импортту алмаштыруу үчүн.

Эгерде биз кемчиликтер жөнүндө айта турган болсок, алар башка бардык Hadoop бөлүштүрүүлөрү менен бирдей болот. Тактап айтканда:

  • "Сатуучунун кулпусу" деп аталган. Cloudera жана Hortonworks мисалдарын колдонуп, биз компаниянын саясатын өзгөртүү коркунучу ар дайым бар экенин түшүндүк.
  • Apache агымынан олуттуу артта калуу.

Vanilla Hadoop

Apache Bigtop жана бүгүн Hadoop бөлүштүрүүнү тандоо

Белгилүү болгондой, Hadoop монолиттүү продукт эмес, бирок, чындыгында, HDFS бөлүштүрүлгөн файлдык тутумунун айланасындагы кызматтардын бүтүндөй галактикасы. Бир нече эле адамдар бир файл кластерине жетет. Кээ бир Hive керек, башкалары Presto, андан кийин HBase жана Phoenix бар. Оркестрация жана маалыматтарды жүктөө үчүн кээде Oozie, Sqoop жана Flume табылат. Эгер коопсуздук маселеси келип чыкса, анда Рейнджер менен бирдикте Kerberos дароо эсине келет.

Hadoop компоненттеринин бинардык версиялары ар бир экосистемалык долбоорлордун веб-сайтында тарбол түрүндө жеткиликтүү. Сиз аларды жүктөп алып, орнотууну баштасаңыз болот, бирок бир шарт менен: сиз жасагыңыз келген "чийки" бинарлардан топтомдорду өз алдынча чогултуудан тышкары, компоненттердин жүктөлүп алынган версияларынын ар бири менен шайкештигине эч кандай ишене албайсыз. башка. Тандалган вариант - Apache Bigtop аркылуу куруу. Bigtop сизге Apache maven репозиторийлеринен курууга, тесттерди жүргүзүүгө жана пакеттерди курууга мүмкүндүк берет. Бирок, биз үчүн абдан маанилүү нерсе, Bigtop бири-бирине шайкеш келген компоненттердин версияларын чогултат. Бул тууралуу төмөндө кененирээк сөз кылабыз.

Apache Bigtop

Apache Bigtop жана бүгүн Hadoop бөлүштүрүүнү тандоо

Apache Bigtop бир катар куруу, таңгактоо жана сыноо үчүн курал болуп саналат
Hadoop жана Greenplum сыяктуу ачык булак долбоорлору. Bigtop көп
чыгарат. Жазуу учурунда акыркы туруктуу релиз 1.4 версиясы болгон,
ал эми мастерде 1.5 болду. Релиздердин ар кандай версиялары ар кандай версияларды колдонушат
компоненттер. Мисалы, 1.4 үчүн Hadoop негизги компоненттери 2.8.5 версиясына ээ жана мастерде
2.10.0. Колдоого алынган компоненттердин курамы да өзгөрүүдө. Эскирген нерсе жана
кайра калыбына келбеген нерсе кетет, анын ордуна жаңы, суроо-талапка көбүрөөк ээ болгон нерсе келет жана
бул сөзсүз эле Апачи үй-бүлөсүнөн бир нерсе эмес.

Мындан тышкары, Bigtop көп бар айрылар.

Биз Bigtop менен тааныша баштаганда, биз биринчи кезекте анын башка Apache долбоорлоруна салыштырмалуу жөнөкөйлүгүнө, таралышы жана популярдуулугуна, ошондой эле абдан кичинекей жамаатына таң калдык. Бул продукт боюнча минималдуу маалымат бар экенин көрсөтүп турат, жана форумдарда жана почта тизмелеринде пайда болгон көйгөйлөрдү чечүү жолдорун издөө такыр эле эч нерсе бербейт. Башында, куралдын өзгөчөлүктөрүнөн улам бөлүштүрүүнү толук чогултуу биз үчүн кыйын иш болуп чыкты, бирок биз бул тууралуу бир аз кийинчерээк сүйлөшөбүз.

Тизер катары, бир кезде Linux ааламынын Gentoo жана LFS сыяктуу долбоорлоруна кызыккандар бул нерсе менен иштөө ностальгиялык жагымдуу сезилиши мүмкүн жана биз издеп жүргөн (же жазып жүргөн) ошол "эпикалык" учурларды эстеп калышы мүмкүн. жаңы патчтар менен Mozilla-ны e-куруп, үзгүлтүксүз кайра куруп турат.

Bigtopтун чоң артыкчылыгы - ал негизделген куралдардын ачыктыгы жана көп тараптуулугу. Бул Gradle жана Apache Maven негизделген. Gradle Google Android'ди куруу үчүн колдонгон курал катары жакшы белгилүү. Бул ийкемдүү жана алар айткандай, "согуштук сыноодон өткөн". Maven - бул 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 куралдары, Дженкинс
./bigtop-data-generators — маалыматтарды генерациялоо, синтетика, түтүн сыноолору үчүн ж.б.
./bigtop-deploy - жайылтуу куралдары
./bigtop-packages — конфигурациялар, сценарийлер, монтаждоо үчүн патчтар, куралдын негизги бөлүгү
./bigtop-test-framework - тестирлөө негизи
./bigtop-tests — сыноолор өздөрү, жүк жана түтүн
./bigtop_toolchain — кураштыруунун чөйрөсү, аспаптын иштөөсү үчүн шарттарды даярдоо
./build - жумушчу каталогду түзүү
./dl — жүктөлүп алынган булактар ​​үчүн каталог
./docker — докер сүрөттөрүн куруу, тестирлөө
./gradle - gradle конфигурациясы
./output – куруу артефакттары баруучу каталог
./provisioner - камсыз кылуу

Бул этапта биз үчүн эң кызыктуу нерсе - бул негизги конфигурация ./bigtop/bigtop.bom, анда биз версиялары менен бардык колдоого алынган компоненттерди көрөбүз. Бул жерде биз продукттун башка версиясын (эгерде биз күтүлбөгөн жерден түзүүгө аракет кылгыбыз келсе) же куруу версиясын (эгерде, мисалы, биз олуттуу патч кошкон болсок) көрсөтө алабыз.

Субкаталог дагы чоң кызыгууну жаратат ./bigtop/bigtop-packages, алар менен тетиктерди жана пакеттерди жыйноо процессине тузден-туз байланыштуу.

Ошентип, биз архивди жүктөп, аны ачтык же githubдан клон жасадык, курууну баштай алабызбы?

Жок, адегенде чөйрөнү даярдайлы.

Айлана-чөйрөнү даярдоо

Ал эми бул жерде бизге бир аз чегинүү керек. Дээрлик ар кандай аздыр-көптүр татаал продуктуну куруу үчүн сизге белгилүү бир чөйрө керек - биздин учурда, бул JDK, ошол эле жалпы китепканалар, баш файлдар ж.б., куралдар, мисалы, ант, ivy2 жана башкалар. Bigtop үчүн керектүү чөйрөнү алуунун варианттарынын бири - куруу хостуна керектүү компоненттерди орнотуу. Мен хронологияда жаңылышы мүмкүн, бирок 1.0 версиясында алдын ала конфигурацияланган жана жеткиликтүү Docker сүрөттөрүн куруу мүмкүнчүлүгү бар окшойт, аны бул жерден тапса болот.

Ал эми чөйрөнү даярдоого келсек, бул үчүн жардамчы бар - Куурчак.

Сиз төмөнкү буйруктарды колдоно аласыз, тамыр каталогунан иштетиңиз
курал, ./bigtop:

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

Же түздөн-түз куурчак аркылуу:

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"

Тилекке каршы, бул этапта кыйынчылыктар пайда болушу мүмкүн. Бул жердеги жалпы кеңеш - куруу хостунда жаңыртылган колдоого алынган бөлүштүрүүнү колдонуу же докер маршрутун сынап көрүү.

жыйналыш

Эмнени чогултууга аракет кылсак болот? Бул суроого жооп команданын чыгышы менен берилет

./gradlew tasks

Пакет тапшырмалары бөлүмүндө Bigtopтун акыркы артефакты болгон бир катар өнүмдөр бар.
Аларды -rpm же -pkg-ind суффикси менен аныктоого болот (курулуш учурунда
докерде). Биздин учурда, эң кызыктуусу - 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>

Кыязы, бул макаланы окуп жатканда, сиз жогорудагы оңдоолорду өзүңүз жасашыңыз керек эмес.

Монтаждоо механизмине кандайдыр бир тактарды жана өзгөртүүлөрдү киргизүүдө, тазалоо буйругун колдонуу менен монтажды "кайра коюу" керек болушу мүмкүн:

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

Бул операция бул компоненттин жыйындысына киргизилген бардык өзгөртүүлөрдү артка кайтарат, андан кийин монтаж кайра аткарылат. Бул жолу биз долбоорду докер сүрөтүндө курууга аракет кылабыз:

./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де түтүн сыноолору жана жайылтуу жөнүндө эстей аласыз.

Үч түйүндөн турган кластерди түзүңүз:

./gradlew -Pnum_instances=3 docker-provisioner

Түтүн сыноолорун үч түйүндөн турган кластерде жүргүзүңүз:

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

Кластерди жок кылуу:

./gradlew docker-provisioner-destroy

Докер контейнерлеринин ичине туташуу үчүн буйруктарды алыңыз:

./gradlew docker-provisioner-ssh

Статусту көрсөтүү:

./gradlew docker-provisioner-status

Сиз документациядан Жайгаштыруу тапшырмалары жөнүндө көбүрөөк окуй аласыз.

Эгерде биз тесттер жөнүндө сөз кыла турган болсок, анда алардын саны абдан көп, негизинен түтүн жана интеграция. Алардын анализи бул макаланын чегинен тышкары. Жөн эле айта кетейин, бөлүштүрүүчү комплектти чогултуу биринчи караганда көрүнгөндөй кыйын иш эмес. Биз өндүрүшүбүздө колдонгон бардык компоненттерди чогултуп, сыноодон өткөрө алдык, ошондой эле аларды жайылтууда жана сыноо чөйрөсүндө негизги операцияларды аткарууда эч кандай кыйынчылыктар болгон жок.

Bigtopто болгон компоненттерден тышкары, башка нерселерди, атүгүл өзүңүздүн программалык камсыздоону иштеп чыгууну кошууга болот. Мунун баары эң сонун автоматташтырылган жана CI/CD концепциясына туура келет.

жыйынтыктоо

Албетте, мындай жол менен түзүлгөн бөлүштүрүү дароо өндүрүшкө жиберилбеши керек. Сиздин бөлүштүрүү куруу жана колдоо үчүн реалдуу муктаждык бар болсо, анда бул үчүн акча жана убакыт салуу керек экенин түшүнүү керек.

Бирок, туура мамиле жана кесипкөй команда менен айкалыштырып, коммерциялык чечимдерсиз эле жасоого болот.

Белгилей кетчү нерсе, Bigtop долбоорунун өзү иштеп чыгууга муктаж жана бүгүнкү күндө жигердүү иштелип жаткан жок. Анда Hadoop 3тин пайда болушу да түшүнүксүз. Айтмакчы, эгер сизде Hadoop 3 курууга чындап муктаждык бар болсо, анда карасаңыз болот айры Аренадатадан, стандартка кошумча
Бир катар кошумча компоненттер бар (Ranger, Knox, NiFi).

Ростелекомго келсек, биз үчүн Bigtop - бүгүнкү күндө каралып жаткан варианттардын бири. Биз тандайбызбы же жокпу, аны убакыт көрсөтөт.

аппендикс

Ассамблеяга жаңы компонентти кошуу үчүн, анын сүрөттөмөсүн bigtop.bom жана ./bigtop-packages даректерине кошушуңуз керек. Сиз муну учурдагы компоненттер менен салыштыруу аркылуу жасоого аракет кылсаңыз болот. Аны түшүнүүгө аракет кыл. Бул биринчи караганда көрүнгөндөй кыйын эмес.

Кандай деп ойлойсуң? Пикириңизди комментарийлерде көргөнүбүзгө кубанычта болобуз жана көңүл бурганыңыз үчүн рахмат!

Макаланы Ростелекомдун маалыматтарды башкаруу тобу даярдаган

Source: www.habr.com

Комментарий кошуу