Apache Bigtop ۽ اڄ هڪ Hadoop تقسيم چونڊيو

Apache Bigtop ۽ اڄ هڪ Hadoop تقسيم چونڊيو

اهو شايد ڪو راز ناهي ته گذريل سال Apache Hadoop لاء وڏي تبديلين جو سال هو. گذريل سال، Cloudera ۽ Hortonworks ضم ٿي ويا (لازمي طور تي، بعد ۾ حصول)، ۽ Mapr، سنگين مالي مسئلن جي ڪري، Hewlett Packard کي وڪرو ڪيو ويو. ۽ جيڪڏهن ڪجهه سال اڳ، پرميسس تنصيب جي صورت ۾، چونڊ اڪثر ڪري Cloudera ۽ Hortonworks جي وچ ۾ ڪيو وڃي ها، اڄ، افسوس، اسان وٽ اهو اختيار ناهي. هڪ ٻيو تعجب حقيقت اها هئي ته Cloudera هن سال جي فيبروري ۾ اعلان ڪيو ته اهو ان جي تقسيم جي بائنري اسيمبليء کي جاري ڪرڻ بند ڪري ڇڏيندو عوامي مخزن ۾، ۽ اهي هاڻي صرف ادا ڪيل سبسڪرپشن ذريعي موجود آهن. يقينن، اهو اڃا تائين ممڪن آهي ته 2019 جي آخر کان اڳ جاري ڪيل CDH ۽ HDP جي جديد نسخن کي ڊائون لوڊ ڪريو، ۽ انهن جي مدد جي توقع آهي هڪ کان ٻن سالن تائين. پر اڳتي هلي ڇا ڪجي؟ انهن لاءِ جيڪي اڳ ۾ سبسڪرپشن لاءِ ادا ڪندا هئا، ڪجھ به نه بدليو آهي. ۽ انهن لاءِ جيڪي ورهائڻ جي ادا ڪيل ورزن تي سوئچ ڪرڻ نٿا چاهين، پر هڪ ئي وقت ۾ ڪلسٽر اجزاء جا جديد ورجن، گڏوگڏ پيچ ۽ ٻيون تازه ڪاريون حاصل ڪرڻ چاهيندا آهن، اسان هي مضمون تيار ڪيو آهي. ان ۾ اسان هن صورتحال مان نڪرڻ لاء ممڪن اختيارن تي غور ڪنداسين.

مضمون جو وڌيڪ جائزو آهي. ان ۾ تقسيم جي مقابلي ۽ انهن جو تفصيلي تجزيو شامل نه هوندو، ۽ انهن کي انسٽال ڪرڻ ۽ ترتيب ڏيڻ لاءِ ڪا به ترڪيب نه هوندي. ڇا ٿيندو؟ اسان مختصر طور تي اهڙي تقسيم جي باري ۾ ڳالهائينداسين Arenadata Hadoop، جيڪو صحيح طور تي اسان جي توجه جي لائق آهي ان جي دستيابي جي ڪري، جيڪو اڄ تمام نادر آهي. ۽ پوءِ اسين وينلا هيڊوپ بابت ڳالهائينداسين، خاص طور تي ان کي ڪيئن "پڪ" ڪري سگهجي ٿو Apache Bigtop استعمال ڪندي. تيار؟ پوء ڀلي ڪري آيا cat.

Arenadata Hadoop

Apache Bigtop ۽ اڄ هڪ Hadoop تقسيم چونڊيو

هي هڪ مڪمل طور تي نئون آهي، ۽ اڃا تائين، گهريلو ترقي جي ٿورڙي ڄاتل تقسيم کٽ. بدقسمتي سان، هن وقت Habré تي صرف آهي هي آرٽيڪل.

وڌيڪ معلومات سرڪاري تي ڳولهي سگهجي ٿو сайте پروجيڪٽ. ورزن 3.1.2 لاءِ ورزن 3، ۽ 2.8.5 ورزن 2 لاءِ ورهائڻ جا جديد نسخا ھڊوپ XNUMX تي ٻڌل آھن.

روڊ ميپ بابت ڄاڻ ملي سگهي ٿي هتي.

Apache Bigtop ۽ اڄ هڪ Hadoop تقسيم چونڊيو
Arenadata ڪلستر مئنيجر انٽرفيس

Arenadata جي بنيادي پيداوار آهي Arenadata ڪلستر مئنيجر (ADCM)، جيڪو مختلف ڪمپني سافٽ ويئر حلن کي انسٽال ڪرڻ، ترتيب ڏيڻ ۽ مانيٽر ڪرڻ لاءِ استعمال ڪيو ويندو آهي. ADCM مفت ۾ ورهايو ويو آهي، ۽ ان جي ڪارڪردگي کي وڌايو ويو آهي بنڊل شامل ڪندي، جيڪي جوابي-پلے بڪ جو هڪ سيٽ آهن. بنڊل ٻن قسمن ۾ ورهايل آهن: ڪاروبار ۽ ڪميونٽي. بعد ۾ موجود آهن مفت ڊائون لوڊ لاءِ Arenadata ويب سائيٽ. اهو پڻ ممڪن آهي ته توهان جو پنهنجو بنڊل ٺاهيو ۽ ان کي ADCM سان ڳنڍيو.

Hadoop 3 جي ترتيب ۽ انتظام لاءِ، بنڊل جو هڪ ڪميونٽي ورزن ADCM سان گڏ پيش ڪيو ويو آهي، پر Hadoop 2 لاءِ اتي ئي آهي. Apache Ambari هڪ متبادل طور. جيئن ته پيڪيجز سان گڏ ذخيرو، اهي عوامي رسائي لاء کليل آهن، اهي ڪلستر جي سڀني حصن لاء عام طريقي سان ڊائون لوڊ ۽ انسٽال ڪري سگھجن ٿيون. مجموعي طور تي، تقسيم تمام دلچسپ ڏسڻ ۾ اچي ٿو. مون کي پڪ آهي ته اهڙا به هوندا جيڪي حل جا عادي هوندا جهڙوڪ Cloudera مئنيجر ۽ Ambari، ۽ جيڪي پاڻ ADCM کي پسند ڪندا. ڪجهه لاء، اهو پڻ هڪ وڏو پلس هوندو جيڪو تقسيم سافٽ ويئر رجسٽر ۾ شامل درآمد جي متبادل لاء.

جيڪڏهن اسان نقصانن جي باري ۾ ڳالهايون ٿا، اهي ساڳيا هوندا جيئن ٻين سڀني Hadoop تقسيم لاء. يعني:

  • جنهن کي ”وينڊر لاڪ ان“ چيو وڃي ٿو. Cloudera ۽ Hortonworks جي مثالن کي استعمال ڪندي، اسان اڳ ۾ ئي محسوس ڪيو آهي ته هميشه ڪمپني جي پاليسي کي تبديل ڪرڻ جو خطرو آهي.
  • Apache upstream جي پويان اهم پوئتي.

وينلا هدوپ

Apache Bigtop ۽ اڄ هڪ Hadoop تقسيم چونڊيو

جئين توهان کي خبر آهي، Hadoop هڪ monolithic پيداوار نه آهي، پر حقيقت ۾، ان جي ورهايل فائل سسٽم HDFS جي چوڌاري خدمتن جي هڪ مڪمل ڪهڪشان. ڪجھ ماڻھن وٽ ھڪڙو فائل ڪلستر ڪافي ھوندو. ڪجهه کي Hive جي ضرورت آهي، ٻين کي Presto، ۽ پوء اتي HBase ۽ فينڪس آهن؛ اسپارڪ تيزي سان استعمال ٿيندو آهي. آرڪيسٽريشن ۽ ڊيٽا لوڊ ڪرڻ لاء، اوزي، اسڪوپ ۽ فلوم ڪڏهن ڪڏهن مليا آهن. ۽ جيڪڏهن سيڪيورٽي جو مسئلو پيدا ٿئي ٿو، پوء رينجر سان گڏ ڪربروس فوري طور تي ذهن ۾ اچي ٿو.

Hadoop اجزاء جا بائنري نسخو موجود آهن ويب سائيٽ تي هر هڪ ايڪو سسٽم منصوبن جي tarballs جي صورت ۾. توھان انھن کي ڊائون لوڊ ڪري سگھوٿا ۽ انسٽاليشن شروع ڪري سگھو ٿا، پر ھڪڙي شرط سان: "خام" بائنريز مان پيڪيجز کي آزاديء سان گڏ ڪرڻ کان علاوه، جيڪو توھان تمام گھڻو ڪرڻ چاھيو ٿا، توھان کي ڪو به اعتماد نه ھوندو ھر ھڪ سان اجزاء جي ڊائون لوڊ ڪيل ورزن جي مطابقت تي. ٻيو. Apache Bigtop استعمال ڪندي تعمير ڪرڻ لاء ترجيح اختيار آهي. Bigtop توهان کي Apache maven repositories مان تعمير ڪرڻ، ٽيسٽ هلائڻ ۽ پيڪيجز ٺاهڻ جي اجازت ڏيندو. پر، جيڪو اسان لاءِ تمام ضروري آهي، بگ ٽاپ انهن حصن جي ورزن کي گڏ ڪندو جيڪي هڪ ٻئي سان مطابقت رکندا. اسان هيٺ وڌيڪ تفصيل سان ان جي باري ۾ ڳالهائي ويندي.

Apache Bigtop

Apache Bigtop ۽ اڄ هڪ Hadoop تقسيم چونڊيو

Apache Bigtop هڪ اوزار آهي تعمير ڪرڻ، پيڪنگنگ ۽ ٽيسٽ ڪرڻ لاءِ
اوپن سورس پروجيڪٽ، جهڙوڪ هيڊوپ ۽ گرينپلم. بگ ٽاپ وٽ ڪافي آهي
جاري ڪري ٿو. لکڻ جي وقت تي، تازو مستحڪم رليز نسخو 1.4 هو،
۽ ماسٽر ۾ 1.5 هو. رليز جا مختلف نسخا مختلف ورجن استعمال ڪن ٿا
اجزاء. مثال طور، 1.4 لاء Hadoop بنيادي اجزاء جو نسخو 2.8.5 آهي، ۽ ماسٽر ۾
2.10.0. معاون اجزاء جو ٺهيل پڻ تبديل ٿي رهيو آهي. ڪجهه پراڻو ۽
ناقابل تجديد ختم ٿي ويندو آهي، ۽ ان جي جاء تي ڪجهه نئين، وڌيڪ طلب ۾، ۽
اهو ضروري ناهي ته اپاچي خاندان مان ڪجهه هجي.

ان کان سواء، Bigtop ڪيترائي آهن ڪانٽو.

جڏهن اسان Bigtop سان واقف ٿيڻ شروع ڪيو، اسان سڀ کان پهريان ان جي معمولي کان حيران ٿي ويا هئاسين، ٻين Apache منصوبن جي مقابلي ۾، مقبوليت ۽ مقبوليت، انهي سان گڏ هڪ تمام ننڍڙي ڪميونٽي. انهي مان اهو معلوم ٿئي ٿو ته پيداوار تي گهٽ ۾ گهٽ معلومات آهي، ۽ مسئلن جو حل ڳولڻ جيڪي فورمز ۽ ميلنگ لسٽن تي پيدا ٿيا آهن شايد ڪجهه به حاصل نه ڪري سگھن. شروعات ۾، اهو اسان لاء هڪ ڏکيو ڪم ٿي ويو آهي ته اسان جي اوزار جي خاصيتن جي ڪري تقسيم جي مڪمل اسيمبلي کي مڪمل ڪرڻ لاء، پر اسان ان بابت ٿوري دير بعد ڳالهائينداسين.

هڪ ٽيزر جي طور تي، اهي جيڪي هڪ وقت ۾ لينڪس ڪائنات جي اهڙن منصوبن ۾ دلچسپي وٺندا هئا جن ۾ Gentoo ۽ LFS شايد هن شيء سان ڪم ڪرڻ لاء يادگيري طور تي خوشگوار محسوس ڪن ٿا ۽ انهن "ايپيڪ" وقتن کي ياد ڪندا جڏهن اسان پاڻ ڳولي رهيا هئاسين (يا اڃا به لکڻ) نئين پيچ سان Mozilla کي ٻيهر تعمير ڪيو ۽ باقاعده طور تي تعمير ڪيو.

بگ ٽاپ جو وڏو فائدو ان اوزار جي کليل ۽ استحڪام آهي جنهن تي اهو ٻڌل آهي. اهو Gradle ۽ Apache Maven تي ٻڌل آهي. Gradle ڪافي مشهور آهي اوزار جي طور تي گوگل استعمال ڪري ٿو Android ٺاهڻ لاءِ. اهو لچڪدار آهي، ۽، جيئن چوندا آهن، "جنگ جي آزمائش." Maven Apache ۾ منصوبن جي تعمير لاء هڪ معياري اوزار آهي، ۽ جيئن ته ان جي اڪثر پروڊڪٽس Maven ذريعي جاري ڪيا ويا آهن، اهو هتي ان کان سواء نه ٿي سگهي. اهو POM (پروجيڪٽ آبجیکٹ ماڊل) تي ڌيان ڏيڻ جي قابل آهي - "بنيادي" xml فائل جيڪا هر شي کي بيان ڪري ٿي جيڪا Maven لاءِ توهان جي منصوبي سان ڪم ڪرڻ لاءِ ضروري آهي، جنهن جي چوڌاري سڀ ڪم ٺهيل آهي. بلڪل تي
Maven جا حصا ۽ ڪجھ رڪاوٽون آھن جيڪي پھريون ڀيرو بگ ٽاپ استعمال ڪندڙ عام طور تي سامھون آھن.

مشق

پوء توهان کي ڪٿي شروع ڪرڻ گهرجي؟ ڊائون لوڊ صفحي ڏانھن وڃو ۽ جديد مستحڪم ورزن کي آرڪائيو طور ڊائون لوڊ ڪريو. توھان پڻ ڳولي سگھوٿا بائنري نمونا گڏ ڪيل آھن Bigtop اتي. رستي جي ذريعي، عام پيڪيج مينيجرز جي وچ ۾، YUM ۽ APT جي حمايت ڪئي وئي آهي.

متبادل طور تي، توھان ڊائون لوڊ ڪري سگھوٿا جديد مستحڪم رليز سڌو سنئون تان
گيتب:

$ 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 - گريڊ ترتيب
./output - ڊاريڪٽري جتي تعمير جا نمونا وڃن ٿا
./provisioner - فراهم ڪرڻ

هن اسٽيج تي اسان لاء سڀ کان وڌيڪ دلچسپ شيء مکيه ترتيب آهي ./bigtop/bigtop.bom، جنهن ۾ اسان ڏسون ٿا سڀئي معاون حصا نسخن سان. هي اهو آهي جتي اسان پراڊڪٽ جو هڪ مختلف نسخو بيان ڪري سگهون ٿا (جيڪڏهن اسان اوچتو ان کي ٺاهڻ جي ڪوشش ڪرڻ چاهيون ٿا) يا هڪ تعمير ورزن (جيڪڏهن، مثال طور، اسان هڪ اهم پيچ شامل ڪيو).

ذيلي ڊائريڪٽري پڻ وڏي دلچسپي جي آهي ./bigtop/bigtop-packages، جيڪو سڌو سنئون ان سان گڏ اجزاء ۽ پيڪيجز کي گڏ ڪرڻ جي عمل سان لاڳاپيل آهي.

تنهن ڪري، اسان آرڪائيو ڊائون لوڊ ڪيو، ان کي پيڪ ڪيو يا گٿب مان ڪلون ٺاهيو، ڇا اسان تعمير شروع ڪري سگهون ٿا؟

نه، اچو ته پهرين ماحول کي تيار ڪريون.

ماحول جي تياري

۽ هتي اسان کي هڪ ننڍڙي واپسي جي ضرورت آهي. تقريبن ڪنهن به وڌيڪ يا گهٽ پيچيده پراڊڪٽ کي ٺاهڻ لاء، توهان کي هڪ خاص ماحول جي ضرورت آهي - اسان جي صورت ۾، اهو آهي JDK، ساڳيون گڏيل لائبريريون، هيڊر فائلون، وغيره، اوزار، مثال طور، ant، 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

پيڪيج ٽاسڪ سيڪشن ۾ اهڙا ڪيترائي پراڊڪٽس آهن جيڪي بگ ٽاپ جا حتمي نمونا آهن.
انهن جي سڃاڻپ ڪري سگهجي ٿي لافڪس -rpm يا -pkg-ind (بلڊنگ جي صورت ۾
ڊڪر ۾). اسان جي حالت ۾، سڀ کان وڌيڪ دلچسپ آهي Hadoop.

اچو ته اسان جي تعمير سرور جي ماحول ۾ تعمير ڪرڻ جي ڪوشش ڪريو:

./gradlew hadoop-rpm

بگ ٽاپ پاڻ هڪ مخصوص جزو لاءِ گهربل گهربل وسيلا ڊائون لوڊ ڪندو ۽ اسيمبلي شروع ڪندو. اهڙيء طرح، اوزار جي آپريشن Maven repositories ۽ ٻين ذريعن تي منحصر آهي، اهو آهي، ان کي انٽرنيٽ جي رسائي جي ضرورت آهي.

آپريشن دوران، معياري پيداوار پيدا ٿئي ٿي. ڪڏهن ڪڏهن اهو ۽ غلطي پيغام توهان کي سمجهڻ ۾ مدد ڪري سگھن ٿا ته ڇا غلط ٿيو. ۽ ڪڏهن ڪڏهن توهان کي اضافي معلومات حاصل ڪرڻ جي ضرورت آهي. هن معاملي ۾، ان کي دليل شامل ڪرڻ جي قابل آهي --info يا --debug، ۽ پڻ مفيد ٿي سگھي ٿو –stacktrace. ميلنگ لسٽن تائين ايندڙ رسائي لاءِ ڊيٽا سيٽ ٺاهڻ جو هڪ آسان طريقو آهي، اهم --scan.

ان جي مدد سان بگ ٽاپ سموري معلومات گڏ ڪندو ۽ ان کي گريڊ ۾ رکندو، جنهن کان پوءِ لنڪ مهيا ڪندو،
جنهن تي عمل ڪرڻ سان هڪ قابل ماڻهو سمجهي سگهندو ته اسيمبلي ڇو ناڪام ٿي.
مهرباني ڪري آگاهه رهو ته هي اختيار شايد معلومات کي ظاهر ڪري سگهي ٿو جيڪو توهان نٿا چاهيو، جهڙوڪ يوزرن جا نالا، نوڊس، ماحولياتي متغير، وغيره، تنهنڪري محتاط رهو.

اڪثر غلطيون اسيمبليء لاء ضروري اجزاء حاصل ڪرڻ جي ناڪاميء جو نتيجو آهن. عام طور تي، توهان مسئلن کي حل ڪري سگهو ٿا پيچ ٺاهي ذريعن ۾ ڪجهه درست ڪرڻ لاء، مثال طور، ذريعن جي روٽ ڊاريڪٽري ۾ 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

مختلف لينڪس ڊسٽريبيوشنز لاءِ پيڪيجز ٺاهڻ کان علاوه، اوزار مرتب ڪيل پيڪيجز سان گڏ هڪ مخزن ٺاهي سگھي ٿو، مثال طور:

./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 ٺاهڻ جي حقيقي ضرورت آهي، توهان ڏسي سگهو ٿا. ڪانٽو Arenadata کان، جنهن ۾، معياري کان علاوه
اتي ڪيترائي اضافي حصا آھن (رينجر، ناڪس، ني فائي).

جيئن Rostelecom لاءِ، اسان لاءِ بگ ٽاپ انهن اختيارن مان هڪ آهي جنهن تي غور ڪيو پيو وڃي. ڇا اسان ان کي چونڊيو يا نه، وقت ٻڌائيندو.

جر

اسيمبلي ۾ نئون حصو شامل ڪرڻ لاءِ، توھان کي ان جي وضاحت شامل ڪرڻ جي ضرورت آھي bigtop.bom ۽ ./bigtop-packages. توھان ھي ڪرڻ جي ڪوشش ڪري سگھوٿا موجوده اجزاء سان قياس ڪندي. ان کي سمجهڻ جي ڪوشش ڪريو. اهو ايترو ڏکيو ناهي جيترو اهو پهرين نظر ۾ لڳي ٿو.

توهان ڇا ٿا سمجهو؟ اسان کي توهان جي راء کي رايا ۾ ڏسي خوشي ٿي ويندي ۽ توهان جي توجه لاء مهرباني!

مضمون تيار ڪيو ويو Rostelecom ڊيٽا مئنيجمينٽ ٽيم

جو ذريعو: www.habr.com

تبصرو شامل ڪريو