æšå¹Žã Apache Hadoop ã«ãšã£ãŠå€§ããªå€åã®å¹Žã§ãã£ãããšã¯ããããåšç¥ã®äºå®ã§ãããã æšå¹ŽãCloudera ãš Hortonworks ãå䜵ã (æ¬è³ªçã«ã¯åŸè ã®è²·å)ãMapr ã¯æ·±å»ãªè²¡ååé¡ã«ãã Hewlett Packard ã«å£²åŽãããŸããã ãããŠãæ°å¹Žåã§ããã°ããªã³ãã¬ãã¹ ã€ã³ã¹ããŒã«ã®å ŽåãCloudera ãš Hortonworks ã®ã©ã¡ãããéžæããå¿ èŠããããããŸããããæ®å¿µãªããçŸåšã§ã¯ãã®éžæè¢ã¯ãããŸããã ãã 2019 ã€ã®é©ãã¯ãCloudera ãä»å¹Ž XNUMX æã«ããã£ã¹ããªãã¥ãŒã·ã§ã³ã®ãã€ã㪠ã¢ã»ã³ããªã®ãããªã㯠ãªããžããªãžã®ãªãªãŒã¹ãåæ¢ããçŸåšã¯ææãµãã¹ã¯ãªãã·ã§ã³ãéããŠã®ã¿å©çšå¯èœã§ãããšçºè¡šãããšããäºå®ã§ãã ãã¡ãããXNUMX 幎æ«ãŸã§ã«ãªãªãŒã¹ããã CDH ããã³ HDP ã®ææ°ããŒãžã§ã³ãããŠã³ããŒãããããšã¯åŒãç¶ãå¯èœã§ããããããã®ãµããŒã㯠XNUMX ïœ XNUMX 幎éç¶ãäºå®ã§ãã ãããã次ã«äœãããã°ããã§ããããïŒ ä»¥åã«ãµãã¹ã¯ãªãã·ã§ã³ã®æéãæ¯æã£ã人ã«ãšã£ãŠã¯ãäœãå€ãããŸããã ãŸããææããŒãžã§ã³ã®ãã£ã¹ããªãã¥ãŒã·ã§ã³ã«åãæ¿ããããªãããåæã«ææ°ããŒãžã§ã³ã®ã¯ã©ã¹ã¿ãŒ ã³ã³ããŒãã³ãããããããã®ä»ã®ã¢ããããŒããåãåããã人ã®ããã«ããã®èšäºãçšæããŸããã ãã®äžã§ããã®ç¶æ³ããæãåºãããã®å¯èœãªéžæè¢ãæ€èšããŸãã
ãã®èšäºã¯ã¬ãã¥ãŒã®ãããªãã®ã§ãã ãã£ã¹ããªãã¥ãŒã·ã§ã³ã®æ¯èŒã詳现ãªåæã¯å«ãŸããŸããããŸãããã£ã¹ããªãã¥ãŒã·ã§ã³ã®ã€ã³ã¹ããŒã«ãšæ§æã«é¢ããã¬ã·ããå«ãŸããŸããã äœãèµ·ãããïŒ Arenadata Hadoop ãªã©ã®ãã£ã¹ããªãã¥ãŒã·ã§ã³ã«ã€ããŠç°¡åã«èª¬æããŸãããã®ãã£ã¹ããªãã¥ãŒã·ã§ã³ã¯ãä»æ¥ã§ã¯éåžžã«ãŸãã§ãããå¯çšæ§ãããããåœç¶æ³šç®ã«å€ããŸãã 次ã«ãVanilla Hadoop ã«ã€ããŠã䞻㫠Apache Bigtop ã䜿çšããŠã©ã®ããã«ã調çãã§ãããã«ã€ããŠèª¬æããŸãã æºåãã§ããŠïŒ ããã§ã¯ç«ãããžããããã
ã¢ãªãŒãããŒã¿ Hadoop
å
šãæ°ããããããŠãŸã ããŸãç¥ãããŠããªãåœå
éçºã®é
åžãããã§ãã æ®å¿µãªãããçŸæç¹ã§ã¯ããã¬ã«ã¯æ¬¡ã®ãããªãã®ãããããŸããã
詳现ã¯å
¬åŒã§ç¢ºèªã§ããŸã
ããŒããããã«é¢ããæ
å ±ãèŠã€ãããŸã
Arenadata ã¯ã©ã¹ã¿ãŒ ãããŒãžã£ãŒ ã€ã³ã¿ãŒãã§ã€ã¹
Arenadata ã®ã³ã¢è£œåã¯ã
Hadoop 3 ã®å±éãšç®¡çã«ã€ããŠã¯ããã³ãã«ã®ã³ãã¥ãã㣠ããŒãžã§ã³ã ADCM ãšçµã¿åãããŠæäŸãããŸãããHadoop 2 ã®å Žåã¯ã
æ¬ ç¹ã«ã€ããŠèšãã°ãä»ã®ãã¹ãŠã® Hadoop ãã£ã¹ããªãã¥ãŒã·ã§ã³ãšåãã§ãã ã€ãŸã:
- ããããããã³ããŒããã¯ã€ã³ãã§ãã Cloudera ãš Hortonworks ã®äŸã䜿çšãããšãäŒç€Ÿã®ããªã·ãŒãå€æŽãããªã¹ã¯ãåžžã«ååšããããšããã§ã«ããããŸããã
- ã¢ããã¹ããªãŒã ã® Apache ã«æ¯ã¹ãŠå€§å¹ ã«é ããŠããŸãã
ããã©ããã¥ãŒã
ãåç¥ã®ãšãããHadoop ã¯ã¢ããªã·ãã¯è£œåã§ã¯ãªããå®éã«ã¯ãåæ£ãã¡ã€ã« ã·ã¹ãã HDFS ãäžå¿ãšããäžé£ã®ãµãŒãã¹ã§ãã XNUMX ã€ã®ãã¡ã€ã« ã¯ã©ã¹ã¿ãŒã§ååãªäººã¯ã»ãšãã©ããªãã§ãããã Hive ãå¿
èŠãšãããã®ãPresto ãå¿
èŠãšãããã®ãããã« HBase ã Phoenix ãå¿
èŠãªãã®ããããSpark ã®äœ¿çšãå¢ããŠããŸãã ãªãŒã±ã¹ãã¬ãŒã·ã§ã³ãšããŒã¿ã®èªã¿èŸŒã¿ã«ã¯ãOozieãSqoopãããã³ Flume ã䜿çšãããããšããããŸãã ãããŠãã»ãã¥ãªãã£ã®åé¡ãçããå Žåãã¬ã³ãžã£ãŒãšçµã¿åãããã±ã«ããã¹ãããã«æãæµ®ãã³ãŸãã
Hadoop ã³ã³ããŒãã³ãã®ãã€ã㪠ããŒãžã§ã³ã¯ãtarball ã®åœ¢åŒã§åãšã³ã·ã¹ãã ãããžã§ã¯ãã® Web ãµã€ãããå ¥æã§ããŸãã ããããããŠã³ããŒãããŠã€ã³ã¹ããŒã«ãéå§ã§ããŸãããæ¡ä»¶ã XNUMX ã€ãããŸãããçã®ããã€ããªããããã±ãŒãžãç¬ç«ããŠã¢ã»ã³ãã«ããããšã«å ããŠãããããããããããšèããããŸãããããŠã³ããŒãããããŒãžã§ã³ã®ã³ã³ããŒãã³ããšåã³ã³ããŒãã³ãã®äºææ§ã«ã¯èªä¿¡ããããŸãããä»ã®ã æšå¥šããããªãã·ã§ã³ã¯ãApache Bigtop ã䜿çšããŠãã«ãããããšã§ãã Bigtop ã䜿çšãããšãApache Maven ãªããžããªããã®ãã«ãããã¹ãã®å®è¡ãããã±ãŒãžã®ãã«ããå¯èœã«ãªããŸãã ããããç§ãã¡ã«ãšã£ãŠéåžžã«éèŠãªããšã¯ãBigtop ãçžäºã«äºææ§ã®ããã³ã³ããŒãã³ãã®ããŒãžã§ã³ãçµã¿ç«ãŠãããšã§ãã 以äžã§è©³ãã説æããŸãã
ã¢ãããããã°ããã
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 ã ebuild ããå®æçã«åæ§ç¯ããŸãã
Bigtop ã®å€§ããªå©ç¹ã¯ãããŒã¹ãšãªãããŒã«ã®ãªãŒãã³æ§ãšå€çšéæ§ã§ãã Gradle ãš Apache Maven ã«åºã¥ããŠããŸãã Gradle ã¯ãGoogle ã Android ãæ§ç¯ããããã«äœ¿çšããããŒã«ãšããŠéåžžã«ããç¥ãããŠããŸãã æè»æ§ããããããèšãããããã«ãå®æŠãã¹ãæžã¿ãã§ãã Maven 㯠Apache èªäœã§ãããžã§ã¯ããæ§ç¯ããããã®æšæºããŒã«ã§ããããã®è£œåã®ã»ãšãã©ã¯ Maven ãéããŠãªãªãŒã¹ãããŠãããããããã§ã Maven ãªãã§ã¯å®è¡ã§ããŸããã§ããã POM (ãããžã§ã¯ã ãªããžã§ã¯ã ã¢ãã«) ã«æ³šç®ãã䟡å€ããããŸããPOM (ãããžã§ã¯ã ãªããžã§ã¯ã ã¢ãã«) ã¯ãMaven ããããžã§ã¯ãã§åäœããããã«å¿
èŠãªãã®ãã¹ãŠãèšè¿°ãããåºæ¬çãªãxml ãã¡ã€ã«ã§ããããããäžå¿ã«ãã¹ãŠã®äœæ¥ãæ§ç¯ãããŸãã ãŸãã«ã
Maven ã®äžéšã§ãããåã㊠Bigtop ãŠãŒã¶ãŒãééããããšãå€ãé害ãããã€ããããŸãã
ç·Žç¿
ã§ã¯ãã©ãããå§ããã°ããã®ã§ãããã? ããŠã³ããŒã ããŒãžã«ç§»åããææ°ã®å®å®ããŒãžã§ã³ãã¢ãŒã«ã€ããšããŠããŠã³ããŒãããŸãã Bigtop ã«ãã£ãŠåéããããã€ã㪠ã¢ãŒãã£ãã¡ã¯ããããã§èŠã€ããããšãã§ããŸãã ã¡ãªã¿ã«ãäžè¬çãªããã±ãŒãžãããŒãžã£ãŒã§ã¯YUMãšAPTããµããŒããããŠããŸãã
ãŸãã¯ãææ°ã®å®å®ãªãªãŒã¹ã次ããçŽæ¥ããŠã³ããŒãã§ããŸãã
githubïŒ
$ git clone --branch branch-1.4 https://github.com/apache/bigtop.git
ãbigtopãã§ã®ã¯ããŒã³äœæâŠ
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
â Docker ã€ã¡ãŒãžã®æ§ç¯ããã¹ã
./gradle
- ã°ã©ãã«æ§æ
./output
â ãã«ãã¢ãŒãã£ãã¡ã¯ããä¿åããããã£ã¬ã¯ããª
./provisioner
â ããããžã§ãã³ã°
ãã®æ®µéã§æãèå³æ·±ãã®ã¯ãã¡ã€ã³ã®æ§æã§ãã ./bigtop/bigtop.bom
ããã«ã¯ããµããŒããããŠãããã¹ãŠã®ã³ã³ããŒãã³ããããŒãžã§ã³ãšãšãã«è¡šç€ºãããŸãã ããã§ã補åã®å¥ã®ããŒãžã§ã³ (çªç¶ãã«ããããå Žå) ãŸãã¯ãã«ã ããŒãžã§ã³ (ããšãã°ãéèŠãªããããè¿œå ããå Žå) ãæå®ã§ããŸãã
ãµããã£ã¬ã¯ããªãéåžžã«èå³æ·±ããã®ã§ã ./bigtop/bigtop-packages
ããã¯ãã³ã³ããŒãã³ããšããã±ãŒãžãçµã¿ç«ãŠãããã»ã¹ã«çŽæ¥é¢ä¿ããŠããŸãã
ããã§ãã¢ãŒã«ã€ããããŠã³ããŒãããŠè§£åããããgithub ããã¯ããŒã³ãäœæãããããã«ããéå§ã§ããŸãã?
ããããŸãã¯ç°å¢ãæŽããŸãããã
ç°å¢ã®æºå
ãããŠããã§å°ããªæ€éãå¿ èŠã§ãã å€ããå°ãªããè€éãªè£œåãæ§ç¯ããã«ã¯ãç¹å®ã®ç°å¢ãå¿ èŠã§ãããã®å Žåããã㯠JDKãåãå ±æã©ã€ãã©ãªãããã㌠ãã¡ã€ã«ãªã©ãããŒã« (ããšãã°ãantãivy2 ãªã©) ã§ãã Bigtop ã«å¿ èŠãªç°å¢ãååŸããããã®ãªãã·ã§ã³ã® 1.0 ã€ã¯ãå¿ èŠãªã³ã³ããŒãã³ãããã«ã ãã¹ãã«ã€ã³ã¹ããŒã«ããããšã§ãã 幎衚ãééã£ãŠããå¯èœæ§ããããŸãããããŒãžã§ã³ XNUMX ã§ã¯ãäºåæ§æãããã¢ã¯ã»ã¹å¯èœãª 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"
æ®å¿µãªããããã®æ®µéã§ãã§ã«åé¡ãçºçããå¯èœæ§ããããŸãã ããã§ã®äžè¬çãªã¢ããã€ã¹ã¯ããµããŒããããŠããããã«ã ãã¹ãäžã§ææ°ã®ãã£ã¹ããªãã¥ãŒã·ã§ã³ã䜿çšããããDocker ã«ãŒããè©Šãããšã§ãã
çµç«
äœãéããŠã¿ããã? ãã®è³ªåã«å¯Ÿããçãã¯ãã³ãã³ãã®åºåã«ãã£ãŠåŸãããŸãã
./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
ãã®æäœã«ããããã®ã³ã³ããŒãã³ãã®ã¢ã»ã³ããªã«å¯Ÿãããã¹ãŠã®å€æŽãããŒã«ããã¯ããããã®åŸã¢ã»ã³ããªãå床å®è¡ãããŸãã ä»åã¯ãDocker ã€ã¡ãŒãžã§ãããžã§ã¯ãããã«ãããŠã¿ãŸãã
./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 ã§ã®ã¹ã¢ãŒã¯ ãã¹ããšãããã€ã¡ã³ãã«ã€ããŠãèŠããŠããããšãã§ããŸãã
XNUMX ã€ã®ããŒããããªãã¯ã©ã¹ã¿ãŒãäœæããŸãã
./gradlew -Pnum_instances=3 docker-provisioner
XNUMX ã€ã®ããŒããããªãã¯ã©ã¹ã¿ãŒã§ã¹ã¢ãŒã¯ ãã¹ããå®è¡ããŸãã
./gradlew -Pnum_instances=3 -Prun_smoke_tests docker-provisioner
ã¯ã©ã¹ã¿ãŒãåé€ããŸãã
./gradlew docker-provisioner-destroy
Docker ã³ã³ããå ã§æ¥ç¶ããããã®ã³ãã³ããååŸããŸãã
./gradlew docker-provisioner-ssh
ã¹ããŒã¿ã¹ã衚瀺:
./gradlew docker-provisioner-status
å°å ¥ã¿ã¹ã¯ã®è©³çŽ°ã«ã€ããŠã¯ãããã¥ã¡ã³ããåç §ããŠãã ããã
ãã¹ãã«ã€ããŠèšãã°ãäž»ã«ã¹ã¢ãŒã¯ãšçµ±åãªã©ãéåžžã«å€ãã®ãã¹ãããããŸãã 圌ãã®åæã¯ãã®èšäºã®ç¯å²ãè¶ ããŠããŸãã é åžãããã®çµã¿ç«ãŠã¯ãäžèŠããã»ã©é£ããäœæ¥ã§ã¯ãªãããšã ãã¯èšã£ãŠãããŸãã æ¬çªç°å¢ã§äœ¿çšãããã¹ãŠã®ã³ã³ããŒãã³ãããªããšãçµã¿ç«ãŠãŠãã¹ãã«åæ Œããããšãã§ããŸããããŸãããã¹ãç°å¢ã§ã®ã³ã³ããŒãã³ãã®ãããã€ãšåºæ¬æäœã®å®è¡ã«ãåé¡ã¯ãããŸããã§ããã
Bigtop ã®æ¢åã®ã³ã³ããŒãã³ãã«å ããŠãç¬èªã®ãœãããŠã§ã¢éçºãå«ããŠãäœããè¿œå ããããšãã§ããŸãã ãããã¯ãã¹ãŠå®å šã«èªååãããŠãããCI/CD ã®æŠå¿µã«é©åããŸãã
ãŸãšã
æããã«ããã®æ¹æ³ã§ã³ã³ãã€ã«ããããã£ã¹ããªãã¥ãŒã·ã§ã³ã¯ãããã«éçšç°å¢ã«éä¿¡ãããã¹ãã§ã¯ãããŸããã ãã£ã¹ããªãã¥ãŒã·ã§ã³ãæ§ç¯ããŠãµããŒãããããšãæ¬åœã«å¿ èŠãªå Žåã¯ãããã«è³éãšæéãæè³ããå¿ èŠãããããšãç解ããå¿ èŠããããŸãã
ãã ããé©åãªã¢ãããŒããšå°éããŒã ãçµã¿åãããã°ãåçšãœãªã¥ãŒã·ã§ã³ãªãã§ãååã«å¯Ÿå¿ã§ããŸãã
Bigtop ãããžã§ã¯ãèªäœã¯éçºãå¿
èŠã§ãããçŸåšã¯ç©æ¥µçã«éçºãè¡ãããŠããããã«ã¯èŠããªãããšã«æ³šæããããšãéèŠã§ãã Hadoop 3 ãç»å ŽããèŠéããäžæã§ãããå®éã« Hadoop 3 ãæ§ç¯ããå¿
èŠãããå Žåã¯ã次ã®ãªã³ã¯ãåç
§ããŠãã ããã
å€æ°ã®è¿œå ã³ã³ããŒãã³ã (RangerãKnoxãNiFi) ããããŸãã
Rostelecom ã«é¢ããŠèšãã°ãç§ãã¡ã«ãšã£ãŠ Bigtop ã¯çŸåšæ€èšãããŠããéžæè¢ã® XNUMX ã€ã§ãã ç§ãã¡ããããéžæãããã©ããã¯ãæéã解決ããŠãããã§ãããã
ä»é²
æ°ããã³ã³ããŒãã³ããã¢ã»ã³ããªã«å«ããã«ã¯ããã®èª¬æã bigtop.bom ããã³ ./bigtop-packages ã«è¿œå ããå¿ èŠããããŸãã æ¢åã®ã³ã³ããŒãã³ãããé¡æšããŠãããè©Šã¿ãããšãã§ããŸãã ãããç解ããŠã¿ãŠãã ããã äžèŠããã»ã©é£ããã¯ãããŸããã
ã©ãæããŸããïŒ ãã²ã³ã¡ã³ãæ¬ã§ãæèŠããèãããã ããããæž èŽããããšãããããŸããã
ãã®èšäºã¯ãã¹ãã¬ã³ã ã®ããŒã¿ç®¡çããŒã ã«ãã£ãŠäœæãããŸããã
åºæïŒ habr.com