2008-09-25 15 views
5

किसी के पास पर्ल मॉड्यूल के लिए कुछ भी क्लस्टर के लिए तैनाती विधियों के लिए सुझाव नहीं हैं?किसी भी हिस्से में पर्ल को तैनात करना क्लस्टर

हमारी वर्तमान विधि बहुत मैनुअल है।

  1. नीचे आधा क्लस्टर
  2. कॉपी पर्ल मॉड्यूल (CPAN शैली मॉड्यूल) गिरे हुए क्लस्टर के सदस्यों को प्रत्येक सदस्य के
  3. ssh ले लो और प्रत्येक मॉड्यूल स्थापित करने पर perl Makefile.pl; make ; make install चलाने
  4. पुष्टि तैनाती
  5. सेवा में नए तैनात क्लस्टर सदस्यों, पुरानी क्लस्टर सदस्यों की सेवा से बाहर और चरण दोहराएं 2 -> 4

यह स्पष्ट रूप से इष्टतम से बहुत दूर है, किसी को साझा किए गए कुछ भी क्लस्टर में पर्ल मॉड्यूल को तैनात करने के लिए अच्छी टूल श्रृंखलाओं के बारे में पता है या नहीं?

उत्तर

4

एक नोड ऑफ़लाइन लें, पर्ल इंस्टॉल करें, और उसके बाद अन्य नोड्स को पुनः प्राप्त करने के लिए इसका उपयोग करें।

कम से कम, मुझे लगता है कि आप एक साझा-कुछ भी क्लस्टर में सॉफ़्टवेयर इंस्टॉल करना चाहते हैं। पर्ल सिर्फ वह एप्लिकेशन है जिसे आप इंस्टॉल करना चाहते हैं।

2

मैंने पहले, एक पर्ल प्रोग्राम विकसित किया है, जो आपने वर्णित प्रक्रिया को स्वचालित रूप से स्वचालित करने के लिए एक्सपेक्ट मॉड्यूल (सीपीएएन से) का उपयोग किया है, स्वचालित रूप से प्रत्येक होस्ट को sshing, किसी भी आवश्यक फाइलों की प्रतिलिपि बनाना, और इंस्टॉलेशन करना। दुर्भाग्यवश, यह क्लाइंट के लिए साइट पर विकसित किया गया था, इसलिए मेरे पास साझा करने के लिए कोड तक पहुंच नहीं है। यदि आप उम्मीद से परिचित हैं, तो इसे स्थापित करना बहुत कठिन नहीं होना चाहिए, हालांकि।

0

मुझे यकीन नहीं है कि शेयर कुछ भी नहीं है, लेकिन अगर यह फेडोरा, मैनड्रिवा या उबंटू जैसे कुछ बेस * निक्स सिस्टम का उपयोग करता है। विशिष्ट आर्किटेक्चर के लिए कई पर्ल मॉड्यूल precompiled हैं। आप आसानी से इन्हें चला सकते हैं।

यदि ये सिस्टम एक ही आर्क के हैं तो आप किसी और के रूप में कर सकते हैं और सिस्टम से सिस्टम में संकलित मॉड्यूल की प्रतिलिपि बना सकते हैं, बस सुनिश्चित करें कि आपके पास प्राप्तकर्ता प्रणाली पर सभी निर्भरताएं हैं।

2

वर्तमान में हमारे पास एक क्लस्टरर्ड पर्ल एप्लिकेशन है जो डेटा प्रोसेसिंग करता है। हमारे पास कई सीपीएएन मॉड्यूल और मॉड्यूल भी हैं जिन्हें हमने विकसित किया है कि सॉफ्टवेयर इस पर निर्भर करता है। जब आप 'साझा कुछ नहीं' कहते हैं, तो मुझे लगता है कि आप एनएफएस माउंट जैसी चीज़ों का जिक्र कर रहे हैं।

यदि मशीनों में समान कॉन्फ़िगरेशन हैं, तो आप अपने पूरे एप्लिकेशन को एक निर्देशिका संरचना (जैसे:/opt/my-app) में बनाने में सक्षम हो सकते हैं, इसे टैर करें और यह केवल एक चीज हो सकती है जो आपको चाहिए बक्से को धक्का देना।

जहां तक ​​इसे बॉक्स में तैनात किया जा रहा है, आप Capistrano का उपयोग करने में सक्षम हो सकते हैं। हमने अपनी कुछ क्लस्टर यूटिलिटीज विकसित की हैं जो एसएसएच के बंद हो गए हैं - मैंने उस उपयोगिता का एक रूप जारी किया है: parallel-jobs। इसका README एकाधिक समांतर एसएसएच कमांड निष्पादित करने का एक उदाहरण दिखाता है। यह उस समूह को अपने क्लस्टर के बारे में जानने में सक्षम होने के लिए एक छोटा कदम है और फिर क्लस्टर में उसी आदेश को निष्पादित करने में सक्षम हो सकता है (विभिन्न आदेशों की श्रृंखला के विपरीत)।

3

मान लें कि सभी मशीनें समान हैं, आपको एक कैननिकल इंस्टॉलेशन रखने में सक्षम होना चाहिए, और दूसरों को अद्यतन में रखने के लिए rsync या कुछ का उपयोग करना चाहिए।

1

Capistrano एक ऐसा उपकरण है जो आपको सर्वर के समूह पर आदेश चलाने की अनुमति देता है; यह आपके काम को काफी आसान बनाने के लिए बिल्कुल उपयुक्त है।

स्वचालन की रेखा के नीचे, लेकिन जटिलता, Puppet है जो आपको सर्वर के समूह को परिभाषित करने, उन्हें भूमिका देने और फिर किसी निश्चित भूमिका की सदस्यता लेने वाली प्रत्येक मशीन को कोड सेट सेट करने की अनुमति देती है। Perl module builder यह अभी भी बहुत कठिन है, लेकिन काम करता है और अपने खुद के कोड पर काम करने के रूप में अच्छी तरह बनाया जा सकता है: -

2

आप डेबियन या Ubunto OS का उपयोग कर रहे हैं, तो आप अपने पर्ल मॉड्यूल पैकेज सकता है मैं आपके द्वारा खोले गए इस के साथ मदद करने के लिए कुछ कोड sourced सीपीएएन मॉड्यूल के रूप में, यह तैनाती को और अधिक आसान बनाता है।

सीपीएएन के लिए रेडहाट आरपीएमएस प्राप्त करने की परियोजना भी है, डेव क्रॉस ने Perl in RPM-Land पर एक टॉक दिया जो उपयोग में हो सकता है।

यदि आप किसी अन्य सिस्टम पर हैं जिसमें पैकेजिंग नहीं है तो rsync विकल्प (एक मशीन पर स्थापित करें और फिर rsync दूसरों को भी) काम करना चाहिए, ध्यान दें कि आप इसे विंडोज़ शेयर और आरएसआईएनसी पर ले जा सकते हैं यदि आवश्यक हो तो यूनिक्स।

Puppet जैसे केंद्रीय प्रबंधक का उपयोग क्लस्टर में मशीनों को बनाने और बनाए रखने के लिए कोड को स्थापित करने से उपयोगकर्ताओं और ईमेल कॉन्फ़िगरेशन को प्रबंधित करने के लिए बहुत आसान बनाता है। पाइपलाइन में कुछ ऐसा करने के लिए एक पर्ल परियोजना भी है लेकिन इसे अभी तक सार्वजनिक नहीं किया गया है।

संबंधित मुद्दे

 संबंधित मुद्दे