Apache Bigtop እና ዛሬ Hadoop ስርጭትን መምረጥ

Apache Bigtop እና ዛሬ Hadoop ስርጭትን መምረጥ

ያለፈው ዓመት ለ Apache Hadoop ትልቅ ለውጥ የተደረገበት ዓመት መሆኑ ምንም ምስጢር ላይሆን ይችላል። ባለፈው ዓመት፣ Cloudera እና Hortonworks ተዋህደዋል (በዋናነት፣ የኋለኛውን ማግኘት)፣ እና Mapr፣ በከባድ የፋይናንስ ችግሮች ምክንያት፣ ለ Hewlett Packard ተሽጧል። እና ከጥቂት አመታት በፊት, በግቢው ውስጥ በተገጠሙ ጭነቶች ውስጥ, ምርጫው ብዙውን ጊዜ በ Cloudera እና Hortonworks መካከል መደረግ ነበረበት, ዛሬ, ወዮ, ይህ ምርጫ የለንም. ሌላው የሚያስደንቀው ነገር ክላውሬራ በዚህ አመት በየካቲት ወር የስርጭቱን ሁለትዮሽ ስብሰባዎች ወደ የህዝብ ማከማቻ መልቀቅ እንደሚያቆም ማስታወቁ እና አሁን የሚገኙት በተከፈለበት የደንበኝነት ምዝገባ ብቻ ነው። በእርግጥ ከ 2019 መጨረሻ በፊት የተለቀቁትን የቅርብ ጊዜዎቹን የሲዲኤች እና ኤችዲፒ ስሪቶች አሁንም ማውረድ ይቻላል እና ለእነሱ ድጋፍ ከአንድ እስከ ሁለት አመት ይጠበቃል። ግን ቀጥሎ ምን ማድረግ አለበት? ከዚህ ቀደም ለደንበኝነት ለከፈሉ፣ ምንም ነገር አልተለወጠም። እና ወደ የሚከፈልበት የስርጭት ስሪት መቀየር ለማይፈልጉ, ግን በተመሳሳይ ጊዜ የቅርብ ጊዜውን የክላስተር ክፍሎችን, እንዲሁም ጥገናዎችን እና ሌሎች ማሻሻያዎችን መቀበል መቻል ለሚፈልጉ, ይህን ጽሑፍ አዘጋጅተናል. በእሱ ውስጥ ከዚህ ሁኔታ ለመውጣት ሊሆኑ የሚችሉ አማራጮችን እንመለከታለን.

ጽሑፉ የበለጠ ግምገማ ነው። የስርጭቶችን ንፅፅር እና ዝርዝር ትንታኔን አይይዝም, እና እነሱን ለመጫን እና ለማዋቀር ምንም የምግብ አዘገጃጀት መመሪያ አይኖርም. ምን ይሆናል? እንደ አሬናዳታ ሃዱፕ ስለ እንደዚህ ያለ ስርጭት በአጭሩ እንነጋገራለን ፣ እሱም በመገኘቱ ምክንያት ትኩረት ሊሰጠን የሚገባው ፣ ዛሬ በጣም አልፎ አልፎ ነው። እና በመቀጠል ስለ ቫኒላ ሃዱፕ እንነጋገራለን፣ በዋናነት Apache Bigtopን በመጠቀም እንዴት “መብሰል” እንደሚቻል ላይ። ዝግጁ? ከዚያ ወደ ድመት እንኳን ደህና መጡ.

አሬናዳታ ሃዱፕ

Apache Bigtop እና ዛሬ Hadoop ስርጭትን መምረጥ

ይህ ሙሉ ለሙሉ አዲስ እና እስካሁን ድረስ ብዙም የማይታወቅ የሀገር ውስጥ ልማት ማከፋፈያ መሳሪያ ነው። እንደ አለመታደል ሆኖ በአሁኑ ጊዜ በሀበሬ ላይ ብቻ አለ። ይህ ዓምድ.

ተጨማሪ መረጃ በኦፊሴላዊው ላይ ሊገኝ ይችላል ጣቢያ ፕሮጀክት. የቅርብ ጊዜዎቹ የስርጭት ስሪቶች በሃዱፕ 3.1.2 ለስሪት 3 እና 2.8.5 ለ ስሪት 2 የተመሰረቱ ናቸው።

ስለ ፍኖተ ካርታው መረጃ ማግኘት ይቻላል እዚህ.

Apache Bigtop እና ዛሬ Hadoop ስርጭትን መምረጥ
የአሬናዳታ ክላስተር አስተዳዳሪ በይነገጽ

የአሬናዳታ ዋና ምርት ነው። የአሬናዳታ ክላስተር አስተዳዳሪ (ADCM), ይህም የተለያዩ የኩባንያ ሶፍትዌር መፍትሄዎችን ለመጫን, ለማዋቀር እና ለመቆጣጠር ያገለግላል. ADCM በነጻ ይሰራጫል፣ እና ተግባራቱ የሚሰፋው ጥቅሎችን በመጨመር ነው፣ እነዚህም የችሎታ-መጫወቻ መጽሐፍ። ጥቅሎች በሁለት ዓይነት ይከፈላሉ፡ ኢንተርፕራይዝ እና ማህበረሰብ። የኋለኞቹ ከArenadata ድህረ ገጽ በነጻ ማውረድ ይገኛሉ። እንዲሁም የእራስዎን ጥቅል ማዘጋጀት እና ከ ADCM ጋር ማገናኘት ይቻላል.

ለHadoop 3 ማሰማራት እና ማስተዳደር፣ የጥቅሉ የማህበረሰብ ስሪት ከ ADCM ጋር በጥምረት ቀርቧል፣ ነገር ግን ለHadoop 2 ብቻ አለ። Apache Ambari እንደ አማራጭ. ከጥቅል ጋር ያሉ ማከማቻዎች ለሕዝብ ተደራሽነት ክፍት ናቸው፣ ለሁሉም የክላስተር አካላት በተለመደው መንገድ ማውረድ እና መጫን ይችላሉ። በአጠቃላይ ስርጭቱ በጣም የሚስብ ይመስላል. እንደ Cloudera Manager እና Ambari ያሉ መፍትሄዎችን የለመዱ እና ADCM እራሱን የሚወዱ እንደሚኖሩ እርግጠኛ ነኝ። ለአንዳንዶቹ ደግሞ ስርጭቱ ትልቅ ፕላስ ይሆናል። በሶፍትዌር መመዝገቢያ ውስጥ ተካትቷል የማስመጣት ምትክ.

ስለ ድክመቶቹ ከተነጋገርን, እንደ ሌሎቹ የሃዱፕ ስርጭቶች ሁሉ ተመሳሳይ ይሆናሉ. ይኸውም፡-

  • "የሻጭ መቆለፊያ" ተብሎ የሚጠራው. የ Cloudera እና Hortonworks ምሳሌዎችን በመጠቀም ሁልጊዜ የኩባንያ ፖሊሲን የመቀየር አደጋ እንዳለ አውቀናል.
  • ከApache ወደላይ ዥረት በስተጀርባ ጉልህ የሆነ መዘግየት።

ቫኒላ Hadoop

Apache Bigtop እና ዛሬ Hadoop ስርጭትን መምረጥ

እንደሚታወቀው ሃዱፕ አንድ ነጠላ ምርት አይደለም፣ ነገር ግን፣ በእውነቱ፣ በተከፋፈለው የፋይል ስርዓት HDFS ዙሪያ አጠቃላይ የአገልግሎት ጋላክሲ ነው። ጥቂት ሰዎች አንድ የፋይል ክላስተር በቂ ይሆናሉ። አንዳንዶቹ ቀፎ ያስፈልጋቸዋል፣ ሌሎች ፕሬስቶ፣ እና ከዚያ HBase እና ፎኒክስ አሉ፤ ስፓርክ በብዛት ጥቅም ላይ ውሏል። ለኦርኬስትራ እና ዳታ መጫን አንዳንድ ጊዜ Oozie፣ Sqoop እና Flume ይገኛሉ። እና የደህንነት ጉዳይ ከተነሳ ከርቤሮስ ከሬንገር ጋር በመተባበር ወዲያውኑ ወደ አእምሮው ይመጣል.

የሃዱፕ አካላት ሁለትዮሽ ስሪቶች በእያንዳንዱ የስነ-ምህዳር ፕሮጀክቶች ድህረ ገጽ ላይ በታርቦል መልክ ይገኛሉ። እነሱን ማውረድ እና መጫኑን መጀመር ይችላሉ ፣ ግን በአንድ ሁኔታ-እሽጎችን ከ “ጥሬ” ሁለትዮሽዎች በተናጥል ከመሰብሰብ በተጨማሪ ፣ ምናልባት እርስዎ ሊያደርጉት የሚፈልጉት ፣ የወረዱት የአካል ክፍሎች ስሪቶች ከእያንዳንዱ ጋር ተኳሃኝነት ላይ እምነት አይኖራቸውም ። ሌላ. የሚመረጠው አማራጭ Apache Bigtop በመጠቀም መገንባት ነው። ቢግቶፕ ከ Apache maven ማከማቻዎች እንዲገነቡ፣ ሙከራዎችን እንዲያካሂዱ እና ጥቅሎችን እንዲገነቡ ይፈቅድልዎታል። ነገር ግን፣ ለእኛ በጣም አስፈላጊ የሆነው፣ ቢግቶፕ እነዚያን ክፍሎች እርስ በርስ የሚስማሙ ስሪቶችን ይሰበስባል። ከዚህ በታች በዝርዝር እንነጋገራለን.

Apache Bigtop

Apache Bigtop እና ዛሬ Hadoop ስርጭትን መምረጥ

Apache Bigtop በርካታዎችን ለመገንባት፣ ለማሸግ እና ለመሞከር መሳሪያ ነው።
እንደ Hadoop እና Greenplum ያሉ ክፍት ምንጭ ፕሮጀክቶች። ቢግቶፕ ብዙ አለው።
ይለቀቃል. ይህ ጽሑፍ በሚጻፍበት ጊዜ የቅርብ ጊዜው የተረጋጋ ስሪት 1.4 ነበር፣
እና በማስተር ውስጥ 1.5 ነበር. የተለያዩ የመልቀቂያ ስሪቶች የተለያዩ ስሪቶችን ይጠቀማሉ
አካላት. ለምሳሌ፣ ለ 1.4 Hadoop ኮር ክፍሎች ስሪት 2.8.5፣ እና በማስተርስ አላቸው።
2.10.0. የሚደገፉ አካላት ስብጥርም እየተቀየረ ነው። የሆነ ጊዜ ያለፈበት እና
የማይታደሰው ያልፋል፣ እና በእሱ ቦታ አዲስ ነገር ይመጣል፣ የበለጠ ተፈላጊ እና
እሱ የግድ ከ Apache ቤተሰብ የመጣ አይደለም።

በተጨማሪም ቢግቶፕ ብዙ አለው። ሹካዎች.

ከBigtop ጋር መተዋወቅ ስንጀምር፣ ከሌሎች Apache ፕሮጀክቶች፣ መስፋፋት እና ታዋቂነት እንዲሁም በጣም ትንሽ ከሆነው ማህበረሰብ ጋር በማነፃፀር በመጀመሪያ ልከኛነቱ አስገርመን ነበር። ከዚህ በመነሳት በምርቱ ላይ አነስተኛ መረጃ አለ, እና በመድረኮች እና በፖስታ መላኪያ ዝርዝሮች ላይ ለተነሱ ችግሮች መፍትሄ መፈለግ ምንም ነገር ላይሰጥ ይችላል. መጀመሪያ ላይ, በመሳሪያው ባህሪያት ምክንያት የስርጭቱን ሙሉ ስብስብ ማጠናቀቅ ከባድ ስራ ሆኖብን ነበር, ነገር ግን ስለዚህ ጉዳይ ትንሽ ቆይቶ እንነጋገራለን.

እንደ ቲንሰር፣ በአንድ ወቅት እንደ Gentoo እና LFS ባሉ የሊኑክስ አጽናፈ ሰማይ ፕሮጀክቶች ላይ ፍላጎት የነበራቸው ሰዎች ከዚህ ነገር ጋር መሥራት እና እኛ እራሳችን የምንፈልገውን (ወይም የምንጽፍበትን) “አስደናቂ” ጊዜዎችን ማስታወስ በሚያስደንቅ ሁኔታ አስደሳች ሆኖ ሊያገኙት ይችላሉ። ሞዚላን በአዲስ ፕላስ ያዘጋጃል።

የBigtop ትልቅ ጥቅም የተመሰረተባቸው መሳሪያዎች ክፍትነት እና ሁለገብነት ነው። በ Gradle እና Apache Maven ላይ የተመሰረተ ነው. ግራድል ጎግል አንድሮይድ ለመገንባት የሚጠቀምበት መሳሪያ በመባል ይታወቃል። ተለዋዋጭ ነው፣ እና እነሱ እንደሚሉት፣ “በጦርነት የተፈተነ” ነው። Maven በራሱ Apache ውስጥ ፕሮጀክቶችን ለመገንባት መደበኛ መሣሪያ ነው፣ እና አብዛኛዎቹ ምርቶቹ በ Maven በኩል ስለሚለቀቁ እዚህም ያለ እሱ ሊከናወን አይችልም። ለ POM (የፕሮጀክት ነገር ሞዴል) ትኩረት መስጠቱ ተገቢ ነው - “መሰረታዊ” xml ፋይል ማቨን ከፕሮጄክትዎ ጋር አብሮ ለመስራት አስፈላጊ የሆኑትን ሁሉ የሚገልጽ ፣ ሁሉም ስራዎች የተገነቡበት። በትክክል በ
የ Maven ክፍሎች እና ለመጀመሪያ ጊዜ የ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 Toolkit, Jenkins
./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 እና ብዙ ተጨማሪ. ለቢግቶፕ የሚያስፈልገዎትን አካባቢ ለማግኘት ካሉት አማራጮች አንዱ አስፈላጊ የሆኑትን ክፍሎች በግንባታ አስተናጋጅ ላይ መጫን ነው። በጊዜ ቅደም ተከተል ላይ ስህተት ልሆን እችላለሁ፣ ነገር ግን ከስሪት 1.0 ጋር ቀድሞ የተዋቀሩ እና ተደራሽ የሆኑ የዶከር ምስሎችን የመገንባት አማራጭ የነበረ ይመስላል፣ ይህም እዚህ ይገኛል።

አካባቢን ለማዘጋጀት, ለዚህ ረዳት አለ - አሻንጉሊት.

ከስር ማውጫው ያሂዱ የሚከተሉትን ትዕዛዞች መጠቀም ይችላሉ።
መሣሪያ፣ ./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

ቢግቶፕ ራሱ ለአንድ የተወሰነ አካል የሚያስፈልጉትን አስፈላጊ ምንጮች አውርዶ መሰብሰብ ይጀምራል። ስለዚህ የመሳሪያው አሠራር በ Maven ማከማቻዎች እና በሌሎች ምንጮች ላይ የተመሰረተ ነው, ማለትም የበይነመረብ መዳረሻ ያስፈልገዋል.

በሚሠራበት ጊዜ መደበኛ ውጤት ይፈጠራል. አንዳንድ ጊዜ እሱ እና የስህተት መልእክቶች ምን እንደተፈጠረ ለመረዳት ሊረዱዎት ይችላሉ። እና አንዳንድ ጊዜ ተጨማሪ መረጃ ማግኘት ያስፈልግዎታል። በዚህ ጉዳይ ላይ ክርክሮችን መጨመር ተገቢ ነው --info ወይም --debug, እና እንዲሁም ጠቃሚ ሊሆን ይችላል –stacktrace. ለቀጣይ የደብዳቤ መላኪያ ዝርዝሮች መዳረሻ የውሂብ ስብስብ ለመፍጠር ምቹ መንገድ አለ, ቁልፉ --scan.

በእሱ እርዳታ ቢግቶፕ ሁሉንም መረጃ ይሰበስባል እና በግሬድ ውስጥ ያስቀምጠዋል ፣ ከዚያ በኋላ አገናኝ ይሰጣል ፣
ይህንን በመከተል ብቃት ያለው ሰው ስብሰባው ለምን እንዳልተሳካ ሊረዳ ይችላል.
ይህ አማራጭ የማይፈልጓቸውን እንደ የተጠቃሚ ስሞች፣ ኖዶች፣ የአካባቢ ተለዋዋጮች፣ ወዘተ የመሳሰሉ መረጃዎችን ሊያጋልጥ እንደሚችል እባክዎ ልብ ይበሉ እና ይጠንቀቁ።

ብዙውን ጊዜ ስህተቶች ለመገጣጠም አስፈላጊ የሆኑትን ማንኛውንም ክፍሎች ማግኘት ባለመቻላቸው ምክንያት ነው. በተለምዶ, በምንጮች ውስጥ የሆነ ነገር ለማስተካከል ፕላስተር በመፍጠር ችግሩን ማስተካከል ይችላሉ, ለምሳሌ, በ pom.xml ውስጥ ያሉ አድራሻዎች በምንጮች ስር ማውጫ ውስጥ. ይህ በተገቢው ማውጫ ውስጥ በመፍጠር እና በማስቀመጥ ነው ./bigtop/bigtop-packages/src/common/oozie/ patch, ለምሳሌ, በቅጹ 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 ስር ነው፣ነገር ግን በኡቡንቱ ስርም ሊከናወን ይችላል፡-

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

ለተለያዩ የሊኑክስ ስርጭቶች ፓኬጆችን ከመገንባት በተጨማሪ መሣሪያው ከተሰበሰቡ ጥቅሎች ጋር ማከማቻ መፍጠር ይችላል ፣ ለምሳሌ-

./gradlew yum

እንዲሁም በዶከር ውስጥ ስለ ጭስ ሙከራዎች እና ስለማሰማራት ማስታወስ ይችላሉ።

የሶስት አንጓዎች ስብስብ ይፍጠሩ፡

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

በሰነዱ ውስጥ ስለ ማሰማራት ተግባራት የበለጠ ማንበብ ይችላሉ።

ስለ ፈተናዎች ከተነጋገርን, ቁጥራቸው በጣም ብዙ ነው, በዋናነት ማጨስ እና ውህደት. የእነሱ ትንታኔ ከዚህ ጽሑፍ ወሰን በላይ ነው. የማከፋፈያ ኪት መሰብሰብ መጀመሪያ ላይ በጨረፍታ የሚመስለውን ያህል ከባድ ስራ አይደለም ልበል። በምርታችን ውስጥ የምንጠቀማቸውን ሁሉንም አካላት ሰብስበን ፈተናዎችን ማለፍ ችለናል፣ በተጨማሪም እነሱን በማሰማራት እና በፈተና አካባቢ መሰረታዊ ስራዎችን በማከናወን ላይ ምንም ችግር አልነበረብንም።

በቢግቶፕ ውስጥ ካሉት አካላት በተጨማሪ የራስዎን የሶፍትዌር ልማት እንኳን ሌላ ማንኛውንም ነገር ማከል ይችላሉ። ይህ ሁሉ በፍፁም አውቶሜትድ ነው እና ከ CI/CD ጽንሰ-ሀሳብ ጋር ይጣጣማል።

መደምደሚያ

በግልጽ ለማየት እንደሚቻለው በዚህ መንገድ የተጠናቀረ ስርጭት ወዲያውኑ ወደ ምርት መላክ የለበትም. የእርስዎን ስርጭት ለመገንባት እና ለመደገፍ እውነተኛ ፍላጎት ካለ, በዚህ ውስጥ ገንዘብ እና ጊዜን ኢንቬስት ማድረግ እንዳለብዎት መረዳት አለብዎት.

ነገር ግን, ከትክክለኛው አቀራረብ እና የባለሙያ ቡድን ጋር በማጣመር, ያለ የንግድ መፍትሄዎች ማድረግ በጣም ይቻላል.

የቢግቶፕ ፕሮጀክት ራሱ ልማት የሚያስፈልገው እና ​​ዛሬ በንቃት እየተገነባ ያለ አይመስልም። Hadoop 3 በውስጡ የመታየት እድሉም ግልፅ አይደለም፡ በነገራችን ላይ Hadoop 3 ን ለመገንባት እውነተኛ ፍላጎት ካሎት ማየት ይችላሉ። ሹካ ከአሬናዳታ, በእሱ ውስጥ, ከመደበኛ በተጨማሪ
በርካታ ተጨማሪ አካላት (ሬንጀር፣ ኖክስ፣ ኒፋይ) አሉ።

ስለ Rostelecom፣ ለእኛ ቢግቶፕ ዛሬ ከሚታሰቡት አማራጮች አንዱ ነው። ብንመርጠውም ባንመርጥም ጊዜ ይነግረናል።

የትርፍ አንጀት ሕመም

በጉባኤው ውስጥ አዲስ አካል ለማካተት መግለጫውን በ bigtop.bom እና ./bigtop-packages ላይ ማከል አለብህ። ይህንን ከነባሮቹ አካላት ጋር በማመሳሰል ለማድረግ መሞከር ይችላሉ. ለማወቅ ሞክር። በመጀመሪያ እይታ እንደሚመስለው አስቸጋሪ አይደለም.

ምን ይመስልሃል? በአስተያየቶች ውስጥ አስተያየትዎን በማየታችን ደስተኞች ነን እና ለእርስዎ ትኩረት እናመሰግናለን!

ጽሑፉ የተዘጋጀው በ Rostelecom የውሂብ አስተዳደር ቡድን ነው

ምንጭ: hab.com

አስተያየት ያክሉ