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 дистрибутивін таңдау

Бұл отандық дамудың мүлдем жаңа және әлі де аз белгілі тарату жинағы. Өкінішке орай, қазіргі уақытта тек Хабреде бар Бұл мақала.

Қосымша ақпаратты ресми сайттан алуға болады сайт жоба. Таратудың соңғы нұсқалары 3.1.2 нұсқасы үшін Hadoop 3 және 2.8.5 нұсқасы үшін 2 негізінде жасалған.

Жол картасы туралы ақпаратты табуға болады осында.

Apache Bigtop және бүгін Hadoop дистрибутивін таңдау
Arenadata Cluster Manager интерфейсі

Arenadata негізгі өнімі болып табылады Arenadata кластер менеджері (ADCM), ол компанияның әртүрлі бағдарламалық шешімдерін орнату, конфигурациялау және бақылау үшін қолданылады. ADCM тегін таратылады және оның функционалдығы ansible-ойын кітаптарының жиынтығы болып табылатын жинақтарды қосу арқылы кеңейтіледі. Бумалар екі түрге бөлінеді: кәсіпорын және қауымдастық. Соңғыларын Arenadata веб-сайтынан тегін жүктеп алуға болады. Сондай-ақ, өз топтамаңызды әзірлеуге және оны ADCM-ге қосуға болады.

Hadoop 3-ті орналастыру және басқару үшін ADCM-мен бірге топтаманың қауымдастық нұсқасы ұсынылады, бірақ Hadoop 2 үшін тек Апачи Амбари балама ретінде. Пакеттері бар репозиторийлерге келетін болсақ, олар жалпыға қолжетімді, оларды кластердің барлық құрамдас бөліктері үшін әдеттегідей жүктеп алуға және орнатуға болады. Жалпы, тарату өте қызықты көрінеді. Cloudera Manager және Ambari сияқты шешімдерге үйренген және ADCM-дің өзін ұнататындар болатынына сенімдімін. Кейбіреулер үшін бұл тарату үлкен плюс болады бағдарламалық қамтамасыз ету реестріне енгізілген импортты алмастыру үшін.

Егер кемшіліктер туралы айтатын болсақ, олар барлық басқа Hadoop дистрибутивтерімен бірдей болады. Атап айтқанда:

  • «Сатушыны құлыптау» деп аталатын. Cloudera және Hortonworks мысалдарын пайдалана отырып, біз әрқашан компания саясатын өзгерту қаупі бар екенін түсіндік.
  • Apache-тен жоғары ағыннан айтарлықтай артта қалу.

Ваниль Хадуп

Apache Bigtop және бүгін Hadoop дистрибутивін таңдау

Өздеріңіз білетіндей, Hadoop - бұл монолитті өнім емес, шын мәнінде HDFS таратылған файлдық жүйесінің айналасындағы қызметтердің тұтас галактикасы. Бір файл кластері аз адамдарда жеткілікті болады. Кейбіреулерге Hive, басқаларына Presto қажет, содан кейін HBase және Phoenix бар; Spark барған сайын қолданылады. Оркестрлеу және деректерді жүктеу үшін кейде Oozie, Sqoop және Flume табылады. Қауіпсіздік мәселесі туындаса, Kerberos Рейнджермен бірге бірден ойға келеді.

Hadoop компоненттерінің екілік нұсқалары экожүйелік жобалардың әрқайсысының веб-сайтында tarball түрінде қол жетімді. Сіз оларды жүктеп алып, орнатуды бастай аласыз, бірақ бір шартпен: сіз жасағыңыз келетін «шикі» екілік файлдардан пакеттерді дербес құрастырудан басқа, сіз компоненттердің жүктелген нұсқаларының әрқайсысымен үйлесімділігіне сенімсіз боласыз. басқа. Таңдаулы опция - 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. Қолдау көрсетілетін компоненттердің құрамы да өзгереді. Ескірген нәрсе және
жаңартылмайтын нәрсе кетеді, оның орнына жаңа, сұранысқа ие нәрсе келеді және
бұл міндетті түрде Apache отбасынан шыққан нәрсе емес.

Сонымен қатар, Bigtop-та көп нәрсе бар шанышқылар.

Біз Bigtop-пен таныса бастағанда, біз ең алдымен оның басқа Apache жобаларымен салыстырғанда қарапайымдылығымен, таралуы мен танымалдылығымен, сондай-ақ өте шағын қауымдастықпен таң қалдырдық. Бұдан шығатыны, өнім туралы ең аз ақпарат бар және форумдар мен тарату тізімдерінде туындаған мәселелердің шешімдерін іздеу мүлдем ештеңе бермеуі мүмкін. Бастапқыда біз үшін құралдың ерекшеліктеріне байланысты дистрибуцияны толық құрастыруды аяқтау қиын болды, бірақ біз бұл туралы сәл кейінірек айтатын боламыз.

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

Bigtop-тың үлкен артықшылығы - ол негізделген құралдардың ашықтығы мен әмбебаптығы. Ол Gradle және Apache Maven негізінде жасалған. Gradle Google Android құрастыру үшін пайдаланатын құралы ретінде жақсы белгілі. Ол икемді және олар айтқандай, «жауынгерлік сынақтан өткен». Maven - бұл Apache-де жобаларды құруға арналған стандартты құрал және оның өнімдерінің көпшілігі Maven арқылы шығарылатындықтан, оны мұнда да онсыз жасау мүмкін емес. POM (жоба нысанының үлгісі) - «іргелі» xml файлына назар аударған жөн, ол Maven сіздің жобаңызбен жұмыс істеуі үшін қажет нәрсенің бәрін сипаттайды, оның айналасында барлық жұмыстар құрастырылады. Дәл сағатта
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, бірдей ортақ кітапханалар, тақырып файлдары және т.б., құралдар, мысалы, ant, 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.

Оның көмегімен бигтоп барлық ақпаратты жинап, оны 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 құру қажеттілігі болса, мынаны қарауға болады. шанышқы Arenadata-дан, онда стандартқа қосымша
Бірқатар қосымша компоненттер бар (Ranger, Knox, NiFi).

Ростелекомға келетін болсақ, біз үшін Bigtop - бүгінгі таңда қарастырылатын нұсқалардың бірі. Біз таңдаймыз ба, жоқ па, оны уақыт көрсетеді.

қосымша

Жинақта жаңа құрамдас қосу үшін оның сипаттамасын bigtop.bom және ./bigtop-packages файлдарына қосу керек. Мұны бұрыннан бар құрамдастарға ұқсастық арқылы жасауға болады. Оны анықтауға тырысыңыз. Бұл бірінші көзқараста көрінетіндей қиын емес.

Сен не ойлайсың? Пікірлерде сіздің пікіріңізді көруге қуаныштымыз және назарларыңызға рахмет!

Мақаланы Ростелекомның деректерді басқару тобы дайындады

Ақпарат көзі: www.habr.com

пікір қалдыру