Apache Bigtop na kuchagua usambazaji wa Hadoop leo

Apache Bigtop na kuchagua usambazaji wa Hadoop leo

Labda sio siri kuwa mwaka jana ulikuwa mwaka wa mabadiliko makubwa kwa Apache Hadoop. Mwaka jana, Cloudera na Hortonworks ziliunganishwa (kimsingi, upatikanaji wa mwisho), na Mapr, kutokana na matatizo makubwa ya kifedha, iliuzwa kwa Hewlett Packard. Na ikiwa miaka michache mapema, katika kesi ya mitambo ya ndani ya majengo, uchaguzi mara nyingi ulipaswa kufanywa kati ya Cloudera na Hortonworks, leo, ole, hatuna chaguo hili. Mshangao mwingine ulikuwa ukweli kwamba Cloudera ilitangaza mnamo Februari mwaka huu kwamba itaacha kutoa mikusanyiko ya jozi ya usambazaji wake kwenye hazina ya umma, na sasa inapatikana tu kupitia usajili unaolipishwa. Bila shaka, bado inawezekana kupakua matoleo ya hivi karibuni ya CDH na HDP iliyotolewa kabla ya mwisho wa 2019, na msaada kwao unatarajiwa kwa mwaka mmoja hadi miwili. Lakini nini cha kufanya baadaye? Kwa wale ambao hapo awali walilipia usajili, hakuna kilichobadilika. Na kwa wale ambao hawataki kubadili toleo la kulipwa la usambazaji, lakini wakati huo huo wanataka kuwa na uwezo wa kupokea matoleo ya hivi karibuni ya vipengele vya makundi, pamoja na patches na sasisho nyingine, tumeandaa makala hii. Ndani yake tutazingatia chaguzi zinazowezekana za kutoka katika hali hii.

Makala ni mapitio zaidi. Haitakuwa na kulinganisha kwa usambazaji na uchambuzi wa kina wao, na hakutakuwa na mapishi ya kusakinisha na kusanidi. Nini kitatokea? Tutazungumza kwa ufupi juu ya usambazaji kama vile Arenadata Hadoop, ambayo inastahili umakini wetu kwa sababu ya kupatikana kwake, ambayo ni nadra sana leo. Na kisha tutazungumza juu ya Vanilla Hadoop, haswa jinsi inaweza "kupikwa" kwa kutumia Apache Bigtop. Tayari? Kisha kuwakaribisha kwa paka.

Arenadata Hadoop

Apache Bigtop na kuchagua usambazaji wa Hadoop leo

Hii ni seti mpya kabisa ya usambazaji wa maendeleo ya nyumbani ambayo bado haijulikani sana. Kwa bahati mbaya, kwa sasa kwenye Habre kuna tu Makala hii.

Habari zaidi inaweza kupatikana kwenye rasmi Online mradi. Matoleo ya hivi punde ya usambazaji yanatokana na Hadoop 3.1.2 kwa toleo la 3, na 2.8.5 kwa toleo la 2.

Habari kuhusu ramani ya barabara inaweza kupatikana hapa.

Apache Bigtop na kuchagua usambazaji wa Hadoop leo
Kiolesura cha Kidhibiti cha Nguzo ya Arenadata

Bidhaa kuu ya Arenadata ni Meneja wa Nguzo za Arenadata (ADCM), ambayo hutumiwa kusakinisha, kusanidi na kufuatilia ufumbuzi wa programu mbalimbali za kampuni. ADCM inasambazwa bila malipo, na utendakazi wake unapanuliwa kwa kuongeza vifurushi, ambavyo ni seti ya vitabu vya kucheza vinavyofaa. Vifungu vimegawanywa katika aina mbili: biashara na jamii. Mwisho zinapatikana kwa kupakuliwa bila malipo kutoka kwa tovuti ya Arenadata. Inawezekana pia kutengeneza kifurushi chako mwenyewe na kukiunganisha kwa ADCM.

Kwa usambazaji na usimamizi wa Hadoop 3, toleo la jumuiya la kifurushi linatolewa kwa kushirikiana na ADCM, lakini kwa Hadoop 2 kuna pekee. Apache Ambari kama mbadala. Kama hazina zilizo na vifurushi, ziko wazi kwa ufikiaji wa umma, zinaweza kupakuliwa na kusanikishwa kwa njia ya kawaida kwa vifaa vyote vya nguzo. Kwa ujumla, usambazaji unaonekana kuvutia sana. Nina hakika kutakuwa na wale ambao wamezoea suluhu kama vile Cloudera Manager na Ambari, na ambao watapenda ADCM yenyewe. Kwa baadhi, itakuwa pia kubwa pamoja na kwamba usambazaji imejumuishwa kwenye rejista ya programu kwa uingizwaji wa kuagiza.

Ikiwa tunazungumzia kuhusu hasara, zitakuwa sawa na kwa usambazaji mwingine wote wa Hadoop. Yaani:

  • Kinachojulikana kama "kufungia kwa muuzaji". Kwa kutumia mifano ya Cloudera na Hortonworks, tayari tumegundua kuwa daima kuna hatari ya kubadilisha sera ya kampuni.
  • Bakia kubwa nyuma ya Apache juu ya mkondo.

Vanilla Hadoop

Apache Bigtop na kuchagua usambazaji wa Hadoop leo

Kama unavyojua, Hadoop sio bidhaa ya monolithic, lakini, kwa kweli, gala nzima ya huduma karibu na mfumo wake wa faili uliosambazwa wa HDFS. Watu wachache watakuwa na kundi moja la faili la kutosha. Wengine wanahitaji Hive, wengine Presto, halafu kuna HBase na Phoenix; Spark inazidi kutumika. Kwa okestration na upakiaji wa data, Oozie, Sqoop na Flume wakati mwingine hupatikana. Na ikiwa suala la usalama linatokea, basi Kerberos kwa kushirikiana na Ranger mara moja inakuja akilini.

Matoleo ya binary ya vipengele vya Hadoop yanapatikana kwenye tovuti ya kila miradi ya mfumo wa ikolojia katika mfumo wa tarballs. Unaweza kuzipakua na kuanza usakinishaji, lakini kwa hali moja: pamoja na kukusanya vifurushi kwa uhuru kutoka kwa vifurushi "mbichi", ambavyo unaweza kutaka kufanya, hautakuwa na imani yoyote katika utangamano wa matoleo yaliyopakuliwa ya vifaa na kila moja. nyingine. Chaguo linalopendekezwa ni kujenga kwa kutumia Apache Bigtop. Bigtop itakuruhusu kujenga kutoka kwa hazina za Apache maven, endesha vipimo na uunda vifurushi. Lakini, ni nini muhimu sana kwetu, Bigtop itakusanya matoleo hayo ya vipengele ambavyo vitaendana na kila mmoja. Tutazungumza juu yake kwa undani zaidi hapa chini.

Apache Bigtop

Apache Bigtop na kuchagua usambazaji wa Hadoop leo

Apache Bigtop ni zana ya kujenga, kufunga na kujaribu idadi ya
miradi ya chanzo huria, kama vile Hadoop na Greenplum. Bigtop ina mengi
matoleo. Wakati wa kuandika, toleo la hivi punde lilikuwa toleo la 1.4,
na katika bwana kulikuwa na 1.5. Matoleo tofauti ya matoleo hutumia matoleo tofauti
vipengele. Kwa mfano, kwa 1.4 vipengele vya msingi vya Hadoop vina toleo la 2.8.5, na kwa bwana
2.10.0. Muundo wa vipengele vinavyoungwa mkono pia unabadilika. Kitu kilichopitwa na wakati na
isiyoweza kufanywa upya huenda, na mahali pake inakuja kitu kipya, kinachohitajika zaidi, na
sio lazima kitu kutoka kwa familia ya Apache yenyewe.

Kwa kuongeza, Bigtop ina nyingi uma.

Tulipoanza kufahamiana na Bigtop, tulishangazwa kwanza na unyenyekevu wake, kwa kulinganisha na miradi mingine ya Apache, kuenea na umaarufu, pamoja na jumuiya ndogo sana. Inachofuata kutokana na hili kwamba kuna taarifa ndogo juu ya bidhaa, na kutafuta ufumbuzi wa matatizo ambayo yametokea kwenye vikao na orodha za barua pepe inaweza kutozaa chochote. Mwanzoni, ilikuwa kazi ngumu kwetu kukamilisha mkusanyiko kamili wa usambazaji kwa sababu ya sifa za chombo yenyewe, lakini tutazungumza juu ya hili baadaye kidogo.

Kama mcheshi, wale ambao wakati mmoja walipendezwa na miradi kama hii ya ulimwengu wa Linux kama Gentoo na LFS wanaweza kuiona kuwa ya kufurahisha sana kufanya kazi na jambo hili na kukumbuka nyakati hizo "maarufu" wakati sisi wenyewe tulikuwa tunatafuta (au hata kuandika) ebuilds na kujenga upya Mozilla mara kwa mara na viraka vipya.

Faida kubwa ya Bigtop ni uwazi na matumizi mengi ya zana ambayo msingi wake ni. Inategemea Gradle na Apache Maven. Gradle inajulikana sana kama zana ambayo Google hutumia kuunda Android. Inabadilika, na, kama wanasema, "imejaribiwa kwa vita." Maven ni zana ya kawaida ya ujenzi wa miradi katika Apache yenyewe, na kwa kuwa bidhaa zake nyingi hutolewa kupitia Maven, haikuweza kufanywa bila hapa pia. Inafaa kuzingatia POM (mfano wa kitu cha mradi) - faili ya "msingi" ya xml inayoelezea kila kitu muhimu kwa Maven kufanya kazi na mradi wako, ambayo kazi yote hujengwa. Hasa katika
sehemu za Maven na kuna vizuizi ambavyo watumiaji wa Bigtop wa mara ya kwanza hukutana navyo kwa kawaida.

Mazoezi

Kwa hivyo unapaswa kuanza wapi? Nenda kwenye ukurasa wa upakuaji na upakue toleo thabiti la hivi punde kama kumbukumbu. Unaweza pia kupata mabaki ya binary yaliyokusanywa na Bigtop hapo. Kwa njia, kati ya wasimamizi wa vifurushi vya kawaida, YUM na APT zinaungwa mkono.

Vinginevyo, unaweza kupakua toleo la hivi punde thabiti moja kwa moja kutoka
github:

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

Kuunganisha katika "juu kubwa"…

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

Saraka inayosababisha ./bigtop inaonekana kama hii:

./bigtop-bigpetstore - maombi ya maonyesho, mifano ya syntetisk
./bigtop-ci - Zana za CI, jenkins
./bigtop-data-generators - uzalishaji wa data, synthetics, vipimo vya moshi, nk.
./bigtop-deploy - zana za kupeleka
./bigtop-packages - Mipangilio, hati, viraka vya kusanyiko, sehemu kuu ya zana
./bigtop-test-framework - mfumo wa majaribio
./bigtop-tests - vipimo wenyewe, mzigo na moshi
./bigtop_toolchain - mazingira ya kusanyiko, kuandaa mazingira ya chombo kufanya kazi
./build - tengeneza saraka ya kufanya kazi
./dl - saraka kwa vyanzo vilivyopakuliwa
./docker - kujenga katika picha za docker, kupima
./gradle - usanidi wa polepole
./output - saraka ambapo mabaki ya ujenzi huenda
./provisioner - utoaji

Jambo la kufurahisha zaidi kwetu katika hatua hii ni usanidi kuu ./bigtop/bigtop.bom, ambamo tunaona vipengele vyote vinavyotumika na matoleo. Hapa ndipo tunaweza kutaja toleo tofauti la bidhaa (ikiwa tunataka ghafla kujaribu kuijenga) au toleo la kujenga (ikiwa, kwa mfano, tuliongeza kiraka muhimu).

Orodha ndogo pia inavutia sana ./bigtop/bigtop-packages, ambayo inahusiana moja kwa moja na mchakato wa kukusanya vipengele na vifurushi pamoja nao.

Kwa hiyo, tulipakua kumbukumbu, tukaifungua au tukafanya clone kutoka github, tunaweza kuanza kujenga?

Hapana, tuandae mazingira kwanza.

Kuandaa Mazingira

Na hapa tunahitaji mapumziko madogo. Ili kujenga karibu bidhaa yoyote ngumu zaidi au chini, unahitaji mazingira fulani - kwa upande wetu, hii ni JDK, maktaba sawa yaliyoshirikiwa, faili za kichwa, nk, zana, kwa mfano, ant, ivy2 na mengi zaidi. Mojawapo ya chaguzi za kupata mazingira unayohitaji kwa Bigtop ni kusakinisha vijenzi muhimu kwenye kipangishi cha ujenzi. Ninaweza kuwa na makosa katika mpangilio, lakini inaonekana kuwa na toleo la 1.0 pia kulikuwa na chaguo la kujenga katika picha za Docker zilizosanidiwa mapema na zinazoweza kupatikana, ambazo zinaweza kupatikana hapa.

Kuhusu kuandaa mazingira, kuna msaidizi wa hii - Puppet.

Unaweza kutumia amri zifuatazo, kukimbia kutoka saraka ya mizizi
chombo, ./bigtop:

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

Au moja kwa moja kupitia puppet:

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"

Kwa bahati mbaya, shida zinaweza kutokea katika hatua hii. Ushauri wa jumla hapa ni kutumia usambazaji unaotumika, kusasishwa kwenye seva pangishi ya ujenzi, au jaribu njia ya kituo.

Mkutano

Tunaweza kujaribu kukusanya nini? Jibu la swali hili litatolewa na matokeo ya amri

./gradlew tasks

Katika sehemu ya Majukumu ya Kifurushi kuna idadi ya bidhaa ambazo ni vizalia vya mwisho vya Bigtop.
Wanaweza kutambuliwa kwa kiambishi -rpm au -pkg-ind (katika kesi ya jengo
kwenye docker). Kwa upande wetu, ya kuvutia zaidi ni Hadoop.

Wacha tujaribu kujenga katika mazingira ya seva yetu ya ujenzi:

./gradlew hadoop-rpm

Bigtop yenyewe itapakua vyanzo muhimu vinavyohitajika kwa sehemu maalum na kuanza kusanyiko. Kwa hivyo, operesheni ya chombo inategemea hazina za Maven na vyanzo vingine, ambayo ni, inahitaji ufikiaji wa mtandao.

Wakati wa operesheni, pato la kawaida hutolewa. Wakati mwingine ujumbe huo na ujumbe wa makosa unaweza kukusaidia kuelewa ni nini kilienda vibaya. Na wakati mwingine unahitaji kupata maelezo ya ziada. Katika kesi hii ni thamani ya kuongeza hoja --info au --debug, na pia inaweza kuwa na manufaa –stacktrace. Kuna njia rahisi ya kutengeneza seti ya data kwa ufikiaji unaofuata wa orodha za barua, ufunguo --scan.

Kwa msaada wake, bigtop itakusanya habari zote na kuiweka polepole, baada ya hapo itatoa kiunga,
kwa kufuata ambayo, mtu mwenye uwezo ataweza kuelewa kwa nini mkutano umeshindwa.
Tafadhali fahamu kuwa chaguo hili linaweza kufichua maelezo usiyotaka, kama vile majina ya watumiaji, nodi, vigeu vya mazingira, n.k., kwa hivyo kuwa mwangalifu.

Mara nyingi makosa ni matokeo ya kutoweza kupata vifaa vyovyote muhimu kwa mkusanyiko. Kwa kawaida, unaweza kurekebisha tatizo kwa kuunda kiraka ili kurekebisha kitu katika vyanzo, kwa mfano, anwani katika pom.xml katika saraka ya mizizi ya vyanzo. Hii inafanywa kwa kuunda na kuiweka kwenye saraka inayofaa ./bigtop/bigtop-packages/src/common/oozie/ kiraka, kwa mfano, katika fomu 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>

Uwezekano mkubwa zaidi, wakati wa kusoma nakala hii, hautalazimika kujirekebisha hapo juu.

Wakati wa kuanzisha viraka na mabadiliko yoyote kwenye utaratibu wa kusanyiko, unaweza kuhitaji "kuweka upya" mkusanyiko kwa kutumia amri ya kusafisha:

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

Operesheni hii itarudisha nyuma mabadiliko yote kwenye mkusanyiko wa sehemu hii, baada ya hapo kusanyiko litafanywa tena. Wakati huu tutajaribu kujenga mradi katika picha ya kizimbani:

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

Jengo hilo lilifanywa chini ya CentOS, lakini pia linaweza kufanywa chini ya Ubuntu:

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

Mbali na vifurushi vya ujenzi kwa usambazaji anuwai wa Linux, zana inaweza kuunda hazina na vifurushi vilivyokusanywa, kwa mfano:

./gradlew yum

Unaweza pia kukumbuka juu ya vipimo vya moshi na kupelekwa kwenye Docker.

Unda nguzo ya nodi tatu:

./gradlew -Pnum_instances=3 docker-provisioner

Fanya vipimo vya moshi katika nguzo ya nodi tatu:

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

Futa kikundi:

./gradlew docker-provisioner-destroy

Pata amri za kuunganisha ndani ya vyombo vya docker:

./gradlew docker-provisioner-ssh

Onyesha hali:

./gradlew docker-provisioner-status

Unaweza kusoma zaidi kuhusu kazi za Usambazaji kwenye hati.

Ikiwa tunazungumza juu ya vipimo, kuna idadi kubwa yao, haswa moshi na ujumuishaji. Uchambuzi wao uko nje ya upeo wa makala haya. Wacha niseme tu kwamba kukusanya vifaa vya usambazaji sio kazi ngumu kama inavyoweza kuonekana mwanzoni. Tuliweza kukusanya na kupitisha vipimo kwa vipengele vyote tunavyotumia katika uzalishaji wetu, na pia hatukuwa na matatizo ya kuvipeleka na kufanya shughuli za msingi katika mazingira ya mtihani.

Mbali na vipengele vilivyopo katika Bigtop, inawezekana kuongeza kitu kingine chochote, hata uundaji wa programu yako mwenyewe. Yote hii imejiendesha kikamilifu na inafaa katika dhana ya CI/CD.

Hitimisho

Kwa wazi, usambazaji uliokusanywa kwa njia hii haupaswi kutumwa mara moja kwa uzalishaji. Unahitaji kuelewa kwamba ikiwa kuna haja ya kweli ya kujenga na kusaidia usambazaji wako, basi unahitaji kuwekeza pesa na wakati katika hili.

Hata hivyo, pamoja na mbinu sahihi na timu ya kitaaluma, inawezekana kabisa kufanya bila ufumbuzi wa kibiashara.

Ni muhimu kutambua kwamba mradi wa Bigtop wenyewe unahitaji maendeleo na hauonekani kuendelezwa kikamilifu leo. Matarajio ya Hadoop 3 kuonekana ndani yake pia haijulikani. Kwa njia, ikiwa una hitaji la kweli la kujenga Hadoop 3, unaweza kuangalia uma kutoka Arenadata, ambayo, pamoja na kiwango
Kuna idadi ya vipengele vya ziada (Ranger, Knox, NiFi).

Kuhusu Rostelecom, kwetu Bigtop ni moja ya chaguzi zinazozingatiwa leo. Ikiwa tutachagua au la, wakati utaonyesha.

Kiambatisho

Ili kujumuisha kijenzi kipya kwenye mkusanyiko, unahitaji kuongeza maelezo yake kwenye bigtop.bom na ./bigtop-packages. Unaweza kujaribu kufanya hivyo kwa kulinganisha na vipengele vilivyopo. Jaribu kufikiri. Sio ngumu kama inavyoonekana mwanzoni.

Nini unadhani; unafikiria nini? Tutafurahi kuona maoni yako katika maoni na asante kwa umakini wako!

Nakala hiyo ilitayarishwa na timu ya usimamizi wa data ya Rostelecom

Chanzo: mapenzi.com

Kuongeza maoni