Apache Bigtop සහ අද Hadoop බෙදාහැරීමක් තෝරා ගැනීම

Apache Bigtop සහ අද Hadoop බෙදාහැරීමක් තෝරා ගැනීම

පසුගිය වසරේ Apache Hadoop සඳහා විශාල වෙනස්කම් සිදු වූ වසරක් බව බොහෝ විට රහසක් නොවේ. පසුගිය වසරේ, Cloudera සහ Hortonworks ඒකාබද්ධ විය (අත්‍යවශ්‍යයෙන්ම, දෙවැන්න අත්පත් කර ගැනීම), බරපතල මූල්‍ය ගැටලු හේතුවෙන් Mapr, Hewlett Packard වෙත විකුණන ලදී. මීට වසර කිහිපයකට පෙර, පරිශ්‍රයේ ස්ථාපනයන් සම්බන්ධයෙන්, තේරීම බොහෝ විට Cloudera සහ Hortonworks අතර සිදු කළ යුතු නම්, අද, අහෝ, අපට මෙම තේරීම නොමැත. තවත් පුදුමයක් නම් ක්ලවුඩරා මේ වසරේ පෙබරවාරි මාසයේදී එහි බෙදාහැරීමේ ද්විමය එකලස්කිරීම් පොදු ගබඩාවට මුදා හැරීම නවත්වන බව නිවේදනය කළ අතර ඒවා දැන් ලබා ගත හැක්කේ ගෙවන ලද දායකත්වයක් හරහා පමණි. ඇත්ත වශයෙන්ම, 2019 අවසානයට පෙර නිකුත් කරන ලද CDH සහ HDP හි නවතම අනුවාද බාගත කිරීමට තවමත් හැකි අතර, ඒවා සඳහා සහය වසර එක සිට දෙක දක්වා අපේක්ෂා කෙරේ. නමුත් ඊළඟට කුමක් කළ යුතුද? දායකත්වයක් සඳහා කලින් ගෙවූ අය සඳහා, කිසිවක් වෙනස් වී නැත. සහ බෙදාහැරීමේ ගෙවන ලද අනුවාදය වෙත මාරු වීමට අවශ්ය නොවන නමුත්, ඒ සමඟම පොකුරු සංරචකවල නවතම අනුවාදයන් මෙන්ම පැච් සහ අනෙකුත් යාවත්කාලීන කිරීම් ලබා ගැනීමට අවශ්ය අය සඳහා, අපි මෙම ලිපිය සකස් කර ඇත. මෙම තත්වයෙන් මිදීමට හැකි විකල්ප එහි අපි සලකා බලමු.

ලිපිය වඩාත් සමාලෝචනයකි. එහි බෙදාහැරීම් සංසන්දනය කිරීම සහ ඒවා පිළිබඳ සවිස්තරාත්මක විශ්ලේෂණයක් අඩංගු නොවන අතර, ඒවා ස්ථාපනය කිරීම සහ වින්යාස කිරීම සඳහා වට්ටෝරු නොමැත. කුමක් සිදුවේවිද? අද ඉතා දුර්ලභ වන එහි ඇති හැකියාව නිසා අපගේ අවධානයට ලක්විය යුතු Arenadata Hadoop වැනි බෙදාහැරීමක් ගැන අපි කෙටියෙන් කතා කරමු. ඉන්පසුව අපි වැනිලා හැඩූප් ගැන කතා කරමු, ප්‍රධාන වශයෙන් එය Apache Bigtop භාවිතයෙන් "පිසූ" ආකාරය ගැන. සූදානම්ද? එහෙනම් බළලාට සාදරයෙන් පිළිගනිමු.

Arenadata Hadoop

Apache Bigtop සහ අද Hadoop බෙදාහැරීමක් තෝරා ගැනීම

මෙය සම්පුර්ණයෙන්ම අලුත් සහ තවමත් එතරම් ප්‍රසිද්ධ නැති දේශීය සංවර්ධනයේ බෙදාහැරීමේ කට්ටලයකි. අවාසනාවකට, මේ මොහොතේ Habré හි ඇත්තේ පමණි මෙම ලිපිය.

වැඩි විස්තර නිලයෙන් සොයාගත හැකිය වෙබ් අඩවිය ව්යාපෘතිය. බෙදාහැරීමේ නවතම අනුවාදයන් 3.1.2 අනුවාදය සඳහා Hadoop 3 සහ 2.8.5 අනුවාදය සඳහා 2 මත පදනම් වේ.

මාර්ග සිතියම පිළිබඳ තොරතුරු සොයාගත හැකිය මෙහි.

Apache Bigtop සහ අද Hadoop බෙදාහැරීමක් තෝරා ගැනීම
Arenadata Cluster Manager අතුරුමුහුණත

Arenadata හි මූලික නිෂ්පාදනය වේ Arenadata Cluster Manager (ADCM), විවිධ සමාගම් මෘදුකාංග විසඳුම් ස්ථාපනය කිරීමට, වින්‍යාස කිරීමට සහ අධීක්ෂණය කිරීමට භාවිතා කරයි. ADCM නොමිලයේ බෙදා හරිනු ලබන අතර, ඇසිබල්-ප්ලේබුක් කට්ටලයක් වන මිටි එකතු කිරීමෙන් එහි ක්‍රියාකාරිත්වය පුළුල් වේ. මිටි වර්ග දෙකකට බෙදා ඇත: ව්යවසාය සහ ප්රජාව. දෙවැන්න Arenadata වෙබ් අඩවියෙන් නොමිලේ බාගත හැකිය. ඔබේම බණ්ඩලය සංවර්ධනය කර එය ADCM වෙත සම්බන්ධ කිරීමට ද හැකිය.

Hadoop 3 යෙදවීම සහ කළමනාකරණය සඳහා, ADCM සමඟ ඒකාබද්ධව බණ්ඩලයේ ප්‍රජා අනුවාදයක් පිරිනමනු ලැබේ, නමුත් Hadoop 2 සඳහා ඇත්තේ පමණි. Apache Ambari විකල්පයක් ලෙස. පැකේජ සහිත ගබඩාවන් සඳහා, ඒවා පොදු ප්රවේශය සඳහා විවෘතව ඇත, ඒවා පොකුරේ සියලුම සංරචක සඳහා සුපුරුදු ආකාරයෙන් බාගත කර ස්ථාපනය කළ හැකිය. පොදුවේ ගත් කල, බෙදා හැරීම ඉතා සිත්ගන්නා සුළුය. Cloudera Manager, Ambari වැනි විසඳුම් වලට හුරු වූ, ADCM වලටම කැමති අය සිටින බව මට විශ්වාසයි. සමහරුන්ට එය බෙදා හැරීමට විශාල වාසියක් ද වනු ඇත මෘදුකාංග ලේඛනයේ ඇතුළත් කර ඇත ආනයන ආදේශනය සඳහා.

අපි අවාසි ගැන කතා කරනවා නම්, ඔවුන් අනෙකුත් සියලුම Hadoop බෙදාහැරීම් සඳහා සමාන වනු ඇත. එනම්:

  • ඊනියා "වෙළෙන්දා අගුලු දැමීම". Cloudera සහ Hortonworks හි උදාහරණ භාවිතා කරමින්, සමාගම් ප්‍රතිපත්ති වෙනස් කිරීමේ අවදානම සැමවිටම පවතින බව අපි දැනටමත් අවබෝධ කරගෙන ඇත.
  • Apache upstream වලට වඩා සැලකිය යුතු පසුබෑමක්.

වැනිලා හැඩූප්

Apache Bigtop සහ අද Hadoop බෙදාහැරීමක් තෝරා ගැනීම

ඔබ දන්නා පරිදි, Hadoop යනු මොනොලිතික් නිෂ්පාදනයක් නොවේ, නමුත් ඇත්ත වශයෙන්ම, එහි බෙදා හරින ලද ගොනු පද්ධතිය HDFS වටා ඇති සේවා සමූහයකි. කිහිප දෙනෙකුට එක් ගොනු පොකුරක් ප්‍රමාණවත් වේ. සමහරුන්ට Hive, අනෙක් අයට Presto අවශ්‍ය වේ, පසුව HBase සහ Phoenix ඇත; Spark වැඩි වැඩියෙන් භාවිතා වේ. වාද්‍ය වෘන්දය සහ දත්ත පැටවීම සඳහා, Oozie, Sqoop සහ Flume සමහර විට දක්නට ලැබේ. ආරක්ෂාව පිළිබඳ ගැටළුව පැනනගින්නේ නම්, Ranger සමඟ එක්ව Kerberos වහාම මතකයට එයි.

Hadoop සංරචකවල ද්විමය අනුවාද තාරබෝල ආකාරයෙන් එක් එක් පරිසර පද්ධති ව්‍යාපෘති වල වෙබ් අඩවියේ ඇත. ඔබට ඒවා බාගත කර ස්ථාපනය ආරම්භ කළ හැකිය, නමුත් එක් කොන්දේසියක් සමඟ: ඔබට බොහෝ විට කිරීමට අවශ්‍ය “අමු” ද්විමය වලින් පැකේජ ස්වාධීනව එකලස් කිරීමට අමතරව, එක් එක් සංරචක සමඟ බාගත කළ අනුවාදවල අනුකූලතාව පිළිබඳව ඔබට විශ්වාසයක් නැත. අනික්. වඩාත් කැමති විකල්පය වන්නේ Apache Bigtop භාවිතයෙන් ගොඩනැගීමයි. Bigtop ඔබට Apache maven repositories වලින් තැනීමට, පරීක්ෂණ ධාවනය කිරීමට සහ පැකේජ තැනීමට ඉඩ සලසයි. නමුත්, අපට ඉතා වැදගත් වන්නේ, Bigtop එකිනෙක අනුකූල වන සංරචකවල එම අනුවාද එක්රැස් කරනු ඇත. අපි ඒ ගැන වඩාත් විස්තරාත්මකව පහතින් කතා කරමු.

Apache Bigtop

Apache Bigtop සහ අද Hadoop බෙදාහැරීමක් තෝරා ගැනීම

Apache Bigtop යනු බොහෝ දේ තැනීම, ඇසුරුම් කිරීම සහ පරීක්ෂා කිරීම සඳහා වූ මෙවලමකි
Hadoop සහ Greenplum වැනි විවෘත මූලාශ්‍ර ව්‍යාපෘති. Bigtop එකේ ඕන තරම් තියෙනවා
නිකුත් කරයි. ලියන අවස්ථාව වන විට, නවතම ස්ථාවර නිකුතුව වූයේ 1.4 අනුවාදයයි.
සහ master හි 1.5 ක් විය. නිකුතු වල විවිධ අනුවාද විවිධ අනුවාද භාවිතා කරයි
සංරචක. උදාහරණයක් ලෙස, 1.4 සඳහා Hadoop core සංරචක 2.8.5 අනුවාදය ඇත, සහ මාස්ටර් ඇත
2.10.0. ආධාරක සංරචකවල සංයුතිය ද වෙනස් වේ. යල් පැන ගිය දෙයක් සහ
පුනර්ජනනීය කළ නොහැකි දේ පහව යන අතර, ඒ වෙනුවට අලුත්, වැඩි ඉල්ලුමක් ඇති දෙයක් පැමිණේ
එය අනිවාර්යයෙන්ම Apache පවුලේම දෙයක් නොවේ.

මීට අමතරව, Bigtop බොහෝ ඇත ගෑරුප්පු.

අපි බිග්ටොප් සමඟ දැන හඳුනා ගැනීමට පටන් ගත් විට, අනෙකුත් Apache ව්‍යාපෘති, ව්‍යාප්තිය සහ ජනප්‍රියත්වය මෙන්ම ඉතා කුඩා ප්‍රජාවක් සමඟ සසඳන විට එහි නිහතමානී බව ගැන අප මුලින්ම පුදුමයට පත් විය. නිෂ්පාදිතය පිළිබඳ අවම තොරතුරු ඇති බවත්, සංසදවල සහ තැපැල් ලැයිස්තු වල පැන නැගී ඇති ගැටළු වලට විසඳුම් සෙවීමෙන් කිසිවක් නොලැබෙන බවත් මෙයින් අනුගමනය කෙරේ. මුලදී, මෙවලමෙහිම ලක්ෂණ නිසා බෙදාහැරීමේ සම්පූර්ණ එකලස් කිරීම සම්පූර්ණ කිරීම අපට අපහසු කාර්යයක් විය, නමුත් අපි මේ ගැන ටිකක් පසුව කතා කරමු.

ටීසර් එකක් ලෙස, Gentoo සහ LFS වැනි ලිනක්ස් විශ්වයේ එවැනි ව්‍යාපෘති ගැන වරෙක උනන්දු වූ අයට මෙම දේ සමඟ වැඩ කිරීම විකාර සහගත ලෙස ප්‍රසන්න විය හැකි අතර අප විසින්ම සොයන (හෝ ලිවීමට පවා) එම “එපික්” කාලය මතක තබා ගත හැකිය. නව පැච් සමඟ Mozilla ebuilds සහ නිතිපතා නැවත ගොඩනඟයි.

Bigtop හි විශාල වාසිය වන්නේ එය පදනම් වූ මෙවලම්වල විවෘතභාවය සහ බහුකාර්යතාවයි. එය Gradle සහ Apache Maven මත පදනම් වේ. ග්‍රේඩ්ල් යනු ඇන්ඩ්‍රොයිඩ් තැනීමට ගූගල් භාවිතා කරන මෙවලම ලෙස ප්‍රසිද්ධය. එය නම්යශීලී වන අතර, ඔවුන් පවසන පරිදි, "සටන් පරීක්ෂාවට ලක් විය." Maven යනු Apache තුළම ව්‍යාපෘති ගොඩනැගීම සඳහා සම්මත මෙවලමක් වන අතර, එහි නිෂ්පාදන බොහොමයක් Maven හරහා නිකුත් කරන බැවින්, එය මෙහි නොමැතිව කළ නොහැක. POM (ව්‍යාපෘති වස්තු ආකෘතිය) වෙත අවධානය යොමු කිරීම වටී - “මූලික” xml ගොනුව, ඔබේ ව්‍යාපෘතිය සමඟ වැඩ කිරීමට Maven සඳහා අවශ්‍ය සියල්ල විස්තර කරයි, එය වටා සියලු වැඩ ගොඩනගා ඇත. හරියටම
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 - demo යෙදුම්, කෘතිම උදාහරණ
./bigtop-ci - CI මෙවලම් කට්ටලය, ජෙන්කින්ස්
./bigtop-data-generators - දත්ත උත්පාදනය, සින්තටික්, දුම් පරීක්ෂණ සඳහා යනාදිය.
./bigtop-deploy - යෙදවීමේ මෙවලම්
./bigtop-packages - configs, scripts, එකලස් කිරීම සඳහා පැච්, මෙවලමෙහි ප්රධාන කොටස
./bigtop-test-framework - පරීක්ෂණ රාමුව
./bigtop-tests - පරීක්ෂණ තමන්, පැටවීම සහ දුම්
./bigtop_toolchain - එකලස් කිරීම සඳහා පරිසරය, මෙවලම වැඩ කිරීමට පරිසරය සකස් කිරීම
./build - වැඩ කරන නාමාවලිය ගොඩනැගීම
./dl - බාගත කළ මූලාශ්‍ර සඳහා නාමාවලිය
./docker - ඩොකර් රූප ගොඩනැගීම, පරීක්ෂා කිරීම
./gradle - gradle config
./output - කෞතුක භාණ්ඩ තැනීමට යන නාමාවලිය
./provisioner - ප්රතිපාදන

මෙම අදියරේදී අපට වඩාත්ම සිත්ගන්නා කරුණ වන්නේ ප්රධාන වින්යාසයයි ./bigtop/bigtop.bom, අනුවාද සහිත සියලුම සහය දක්වන සංරචක අපි දකිමු. මෙහිදී අපට නිෂ්පාදනයේ වෙනස් අනුවාදයක් (අපි හදිසියේම එය ගොඩනඟා ගැනීමට උත්සාහ කිරීමට අවශ්‍ය නම්) හෝ ගොඩනැගීමේ අනුවාදයක් (උදාහරණයක් ලෙස, අපි සැලකිය යුතු පැච් එකක් එකතු කළහොත්) සඳහන් කළ හැකිය.

උප බහලුම ද විශාල උනන්දුවක් දක්වයි ./bigtop/bigtop-packages, ඒවා සමඟ සංරචක සහ පැකේජ එකලස් කිරීමේ ක්රියාවලියට සෘජුවම සම්බන්ධ වේ.

ඉතින්, අපි සංරක්ෂිතය බාගත කර, එය ගලවා හෝ github වලින් ක්ලෝනයක් සාදා, අපට ගොඩනැගීම ආරම්භ කළ හැකිද?

නැහැ, අපි මුලින්ම පරිසරය සකස් කරමු.

පරිසරය සකස් කිරීම

මෙන්න අපට කුඩා පසුබැසීමක් අවශ්යයි. ඕනෑම වැඩි හෝ අඩු සංකීර්ණ නිෂ්පාදනයක් තැනීමට, ඔබට නිශ්චිත පරිසරයක් අවශ්‍ය වේ - අපගේ නඩුවේදී, මෙය JDK, එකම හවුල් පුස්තකාල, ශීර්ෂ ලිපිගොනු යනාදිය, මෙවලම්, උදාහරණයක් ලෙස, කුහුඹුවන්, ivy2 සහ තවත් බොහෝ දේ. Bigtop සඳහා ඔබට අවශ්‍ය පරිසරය ලබා ගැනීමට ඇති එක් විකල්පයක් නම්, අවශ්‍ය සංරචක ගොඩනැගීමේ සත්කාරකයේ ස්ථාපනය කිරීමයි. කාලානුක්‍රමයේ මා වැරදි විය හැක, නමුත් 1.0 අනුවාදය සමඟින් පෙර-වින්‍යාස කළ සහ ප්‍රවේශ විය හැකි ඩොකර් රූප තැනීමට විකල්පයක් ද තිබූ බව පෙනේ, එය මෙහි සොයාගත හැකිය.

පරිසරය සකස් කිරීම සඳහා, මේ සඳහා සහායකයෙක් සිටී - රූකඩ.

ඔබට පහත විධාන භාවිතා කළ හැක, root බහලුමෙන් ධාවනය කරන්න
මෙවලම, ./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

Package 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/ 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 යටතේ සිදු කරන ලද නමුත් Ubuntu යටතේද සිදු කළ හැක:

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

විවිධ ලිනක්ස් බෙදාහැරීම් සඳහා පැකේජ ගොඩනැගීමට අමතරව, මෙවලමට සම්පාදනය කරන ලද පැකේජ සහිත ගබඩාවක් සෑදිය හැක, උදාහරණයක් ලෙස:

./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 සංකල්පයට ගැලපේ.

නිගමනය

නිසැකවම, මේ ආකාරයෙන් සම්පාදනය කරන ලද බෙදාහැරීමේ පැකේජය වහාම නිෂ්පාදනයට නොයැවිය යුතුය. ඔබේ බෙදා හැරීම ගොඩනඟා ගැනීමට සහ සහාය වීමට සැබෑ අවශ්‍යතාවයක් තිබේ නම්, ඔබ මේ සඳහා මුදල් හා කාලය ආයෝජනය කළ යුතු බව ඔබ තේරුම් ගත යුතුය.

කෙසේ වෙතත්, නිවැරදි ප්රවේශය සහ වෘත්තීය කණ්ඩායමක් සමඟ ඒකාබද්ධව, වාණිජ විසඳුම් නොමැතිව කිරීමට බෙහෙවින් හැකි ය.

බිග්ටොප් ව්‍යාපෘතියම සංවර්ධනය අවශ්‍ය වන අතර අද සක්‍රීයව සංවර්ධනය වෙමින් පවතින බවක් නොපෙනෙන බව සැලකිල්ලට ගැනීම වැදගත්ය. Hadoop 3 එහි පෙනී සිටීමේ අපේක්ෂාව ද අපැහැදිලි ය, මාර්ගය වන විට, ඔබට Hadoop 3 ගොඩනැගීමට සැබෑ අවශ්‍යතාවයක් තිබේ නම්, ඔබට බැලිය හැකිය. දෙබලක Arenadata වෙතින්, ප්‍රමිතියට අමතරව
අමතර සංරචක ගණනාවක් ඇත (Ranger, Knox, NiFi).

Rostelecom සම්බන්ධයෙන් ගත් කල, අපට Bigtop යනු අද සලකා බලනු ලබන විකල්පයන්ගෙන් එකකි. අපි එය තෝරා ගත්තත් නැතත් කාලය තීරණය කරයි.

උපග්රන්ථය

එකලස් කිරීමේදී නව සංරචකයක් ඇතුළත් කිරීමට, ඔබ එහි විස්තරය bigtop.bom සහ ./bigtop-packages වෙත එක් කළ යුතුය. පවතින සංරචක සමඟ සැසඳීමෙන් ඔබට මෙය කිරීමට උත්සාහ කළ හැකිය. එය තේරුම් ගැනීමට උත්සාහ කරන්න. එය මුලින්ම බැලූ බැල්මට පෙනෙන තරම් අපහසු නැත.

ඔයා සිතන්නේ කුමක් ද? අදහස් දැක්වීමේදී ඔබේ අදහස දැකීමට අපි සතුටු වන අතර ඔබේ අවධානයට ස්තූතියි!

ලිපිය සකස් කරන ලද්දේ Rostelecom දත්ත කළමනාකරණ කණ්ඩායම විසිනි

මූලාශ්රය: www.habr.com

අදහස් එක් කරන්න