रास्पबेरी पाई एक मिनी-कंप्यूटर बोर्ड है जिससे आप एक मॉनिटर, माउस और कीबोर्ड को कनेक्ट कर सकते हैं और एक जीयूआई के साथ एक लिनक्स-आधारित ऑपरेटिंग सिस्टम स्थापित कर सकते हैं। या आप बिना किसी GUI के "हेडलेस" मोड में इसका उपयोग कर सकते हैं और उदाहरण के लिए, एक डेटाबेस सर्वर चला सकते हैं। ऐसे हैं जिनसे आप रास्पबेरी पाई दे सकते हैं—एक Minecraft सर्वर बनाने से लेकर स्मार्ट मिरर तक, संभावनाएं अनंत हैं। कई उपयोग जब से मैंने की खोज शुरू की और डेटाबेस क्लस्टर, और एक्सपैंड के बारे में सीखा, रास्पबेरी पाई क्लस्टर बनाने का विचार मेरे सिर के पीछे रहा है। इस तरह का क्लस्टर वितरित सिस्टम के साथ प्रयोग करने का एक शानदार तरीका है। मारियाडीबी डिस्ट्रिब्यूटेड एसक्यूएल इस लेख में, मैं आपको दिखाऊंगा कि रास्पबेरी पाई क्लस्टर कैसे बनाया जाता है: 8 नोड्स 32 कोर 64 जीबी रैम 2TB स्टोरेज जिसकी आपको जरूरत है यदि आप अपना स्वयं का क्लस्टर बनाना चाहते हैं, तो आपको 8 रास्पबेरी पाई डिवाइस खरीदने की आवश्यकता नहीं है। सामान सीखने के लिए एक डिवाइस भी काफी है। इस लेख में दिए गए निर्देश उपयोगी हैं, भले ही आप केवल एक हालाँकि, मेरी सलाह है कि यदि आप वास्तव में प्रशासन, , , , में अपने कौशल को बढ़ावा देना चाहते हैं, तो आपके क्लस्टर के निर्माण के लिए कम से कम तीन डिवाइस हों ... आप इसे नाम दें! रास्पबेरी पाई को कॉन्फ़िगर करने की योजना बना रहे हों। लिनक्स Ansible Docker Kubernetes डेटाबेस क्लस्टर्स इस बात को ध्यान में रखते हुए, कृपया 8 को जो भी आपका नंबर है, से बदल दें। रास्पबेरी पाई उपकरणों के विनिर्देशों के साथ भी ऐसा ही करें यदि आपके पास कम या अधिक रैम या स्टोरेज वाले विभिन्न मॉडल हैं। यहाँ मैंने क्या उपयोग किया है: 8 x (8 जीबी रैम) रास्पबेरी पाई 4 मॉडल बी 1 एक्स (10-पोर्ट) एंकर 60W डेस्कटॉप चार्जर 8 x (5A, 40W, 23cm) लघु USB टाइप C केबल 8 x (256 जीबी) माइक्रोएसडी कार्ड 2 x (कूलिंग फैन के साथ 4 परतें) रास्पबेरी पाई क्लस्टर केस मात्राओं को अपने सेटअप में अनुकूलित करें। यदि आपके पास बहुत कम डिवाइस (1 या 2 कहें) या मल्टी-यूएसबी चार्जर हैं तो आप या तो एक या अधिक प्राप्त कर सकते हैं। यदि आप मल्टी-यूएसबी चार्जर के साथ जाते हैं, तो सुनिश्चित करें कि प्रत्येक पोर्ट कम से कम 2.4Am (5V) डिलीवर कर सकता है। ऐसे माइक्रोएसडी कार्ड चुनें जो आपके लक्ष्यों और बजट के अनुकूल हों। मैं कम से कम 32 जीबी एसडी कार्ड के साथ जाने की सलाह देता हूं। रास्पबेरी पाई बिजली आपूर्ति केबल और केस की तरफ, कुछ भी चुनें जो आपके सेटअप को समायोजित करता हो। जरूरी नहीं कि आपको कूलिंग फैन की जरूरत हो, लेकिन अगर आप अपने डिवाइस को लंबे समय तक चालू रखने की योजना बना रहे हैं, तो मैं उन्हें सलाह देता हूं। मैं आपको "खाना पकाने" शुरू करने से पहले सभी सामग्री प्राप्त करने की भी सलाह देता हूं, खासकर यदि आप कई रास्पबेरी पाई उपकरणों का उपयोग करना चाहते हैं। रास्पबेरी पाई ओएस (हेडलेस) स्थापित करना हम जिस ऑपरेटिंग सिस्टम (OS) का उपयोग करेंगे, वह है, जो एक डेबियन-आधारित OS है जिसे Raspberry Pi बोर्डों के लिए अनुकूलित किया गया है। रास्पबेरी पाई ओएस आपके कंप्यूटर का उपयोग करके माइक्रोएसडी कार्ड पर स्थापित है। आप बाद में इन माइक्रोएसडी कार्डों को अपने रास्पबेरी पाई उपकरणों से कनेक्ट करें और उन्हें बूट करें। Raspberry Pi OS अपने डेस्क पर सभी माइक्रोएसडी कार्ड और रास्पबेरी पाई बॉक्स प्राप्त करें। यदि आपके काम करने वाले कंप्यूटर में एसडी कार्ड के लिए स्लॉट नहीं है, तो आपको एक एसडी कार्ड एडॉप्टर (वे आमतौर पर माइक्रोएसडी कार्ड के साथ आते हैं) या एक एसडी कार्ड यूएसबी रीडर की आवश्यकता होगी। एक शार्पी भी लाओ। एप्लिकेशन डाउनलोड करें, और इसे अपने कंप्यूटर पर इंस्टॉल करें। एक माइक्रोएसडी कार्ड लें और इसे अपने कंप्यूटर से कनेक्ट करें। रास्पबेरी पाई इमेजर एप्लिकेशन खोलें, और पर क्लिक करें। सूची से, और का चयन करें यदि आपके रास्पबेरी पाई डिवाइस 64-बिट हैं या अन्यथा: रास्पबेरी पाई इमेजर ओएस चुनें रास्पबेरी पाई ओएस (अन्य) पर क्लिक करें, रास्पबेरी पाई ओएस लाइट (64-बिट) रास्पबेरी पाई ओएस लाइट (32-बिट) पर क्लिक करें और माइक्रोएसडी कार्ड चुनें। दोबारा जांचें कि आपने सही ड्राइव का चयन किया है, और "गियर" आइकन (उन्नत विकल्प) पर क्लिक करें। होस्टनाम के लिए , या कुछ इसी तरह का उपयोग करें। आप उपकरणों का नामकरण , , , आदि के रूप में करेंगे। CHOOSE STORAGE rpi01 rpi01 rp02 rp03 और करें की जाँच करें। एक उपयोगकर्ता नाम सेट करें (मैं डिफ़ॉल्ट छोड़ दूंगा), और एक सुरक्षित पासवर्ड सेट करें। एसएसएच सक्षम करें, पासवर्ड प्रमाणीकरण विकल्पों का उपयोग pi करें विकल्प की जांच करें, और अपने वाईफाई कनेक्शन का नाम और पासवर्ड दर्ज करें। अपनी स्थानीय सेटिंग भी कॉन्फ़िगर करें। वायरलेस लैन कॉन्फ़िगर चूंकि हमें प्रत्येक माइक्रोएसडी कार्ड के साथ एक बार ऐसा करना होता है, विकल्प फ़ील्ड के लिए: पर सेट करना सुनिश्चित करें। इस तरह सेटिंग्स सहेजी जाएंगी, और अगले कार्ड के लिए प्रक्रिया आसान हो जाएगी: छवि अनुकूलन को हमेशा उपयोग करने अब, आप प्रक्रिया शुरू करने के लिए और फिर पर क्लिक कर सकते हैं। एक बार पूरा हो जाने पर, कार्ड को बाहर निकालें और इसे रास्पबेरी पाई उपकरणों में से एक से कनेक्ट करें, इसे वापस अपने बॉक्स में रखें, और बॉक्स को नंबर के साथ चिह्नित करें। सभी उपकरणों के लिए इस प्रक्रिया को दोहराएं। सेव राइट 01 क्लस्टर को असेंबल करना आपके पास किस प्रकार का क्लस्टर केस है, इसके आधार पर कोडांतरण प्रक्रिया भिन्न हो सकती है। अपने मामले के साथ आने वाले निर्देशों का पालन करें, या परतों में उपकरणों को कैसे रखा जाना चाहिए, इसका स्पष्ट विचार प्राप्त करने के लिए ऑनलाइन तस्वीरें देखें। मैं यह तय करने के लिए आगे देखने की सलाह देता हूं कि पहले किन भागों को इकट्ठा करना है। उदाहरण के लिए, मेरे द्वारा चुने गए मामले के साथ, मुझे रास्पबेरी पाई उपकरणों को परतों पर माउंट करने से पहले शीतलन प्रशंसकों को स्थापित करना था। एक बार जब आप रास्पबेरी पाई माउंट करते हैं, तो परत पर इसकी संख्या लिखने के लिए एक शार्प का उपयोग करें। यह भविष्य में आपकी मदद करेगा यदि आपको पुन: कॉन्फ़िगरेशन या किसी अन्य प्रशासनिक कार्यों के लिए माइक्रोएसडी कार्ड निकालना है जिसमें हार्डवेयर को छूना शामिल है। एक बार जब आपके पास सभी डिवाइस माउंट हो जाएं, तो यूएसबी केबल को रास्पबेरी पाई डिवाइस और मल्टी-यूएसबी चार्जर से कनेक्ट करें। यदि आप चाहें तो आप वैकल्पिक रूप और यूएसबी चार्जर के बजाय एक का उपयोग कर सकते हैं, लेकिन मैं इसे आपके लिए एक्सप्लोर करने के लिए छोड़ दूंगा; यह निश्चित रूप से जाँच के लायक है। से पावर ओवर ईथरनेट नेटवर्क स्विच आपके पास या तो चार्जर हो सकता है (या यदि आप इसके लिए जाते हैं तो नेटवर्क स्विच) अपने रास्पबेरी पाई रैक के बगल में या उससे जुड़ा हुआ है। मैंने चार्जर को केस के किनारे से जोड़े रखने के लिए रबर बैंड का इस्तेमाल किया। यह ठीक काम किया। USB केबल के प्लग इन के साथ, आप उन सभी मिनी-कंप्यूटरों को प्रारंभ करने के लिए तैयार हैं! चार्जर कनेक्ट करें, और इसे चालू करें। आपके द्वारा उपयोग किए जाने वाले रास्पबेरी पाई मॉडल के आधार पर, उन्हें बूट होने में कुछ समय लग सकता है, इसलिए धैर्य रखें। इस बीच, एलईडी फ्लैशिंग और पंखे शुरू होने का आनंद लें। SSH . के माध्यम से जुड़ना यदि सब कुछ ठीक रहा, तो आपको SSH के माध्यम से रास्पबेरी पाई उपकरणों तक पहुंचने में सक्षम होना चाहिए। अपने कंप्यूटर से निम्न को चलाकर इसे आज़माएं: ssh pi@rpi01.local अपने पासवर्ड का परिचय दें, और डिवाइस को ज्ञात होस्ट की सूची में जोड़ने के लिए में उत्तर दें। बधाई! आपका क्लस्टर अब लाइव है। हां आप हार्डवेयर जानकारी की जांच के लिए कमांड चलाना चाह सकते हैं। उदाहरण के लिए: : CPU आर्किटेक्चर के बारे में जानकारी lscpu : फाइल सिस्टम डिस्क स्थान का उपयोग df -H : विभाजन की जानकारी sudo fdisk -l : उपयोग की गई मात्रा, निःशुल्क और RAM की कुल मात्रा free -m : लिनक्स कर्नेल जानकारी cat /proc/version रास्पि-कॉन्फ़िगरेशन के साथ मैनुअल कॉन्फ़िगरेशन यदि आपके पास एक रास्पबेरी पाई है, तो आप इसे ऊपर वर्णित अनुसार एसएसएच के माध्यम से कनेक्ट कर सकते हैं, और विभिन्न सेटिंग्स को कॉन्फ़िगर करने के लिए उपयोगिता प्रोग्राम का उपयोग कर सकते हैं। आप वाईफाई कनेक्शन ( ) को संशोधित कर सकते हैं, होस्टनाम ( ) और यूजर पासवर्ड ( ) को बदल सकते हैं, और फाइल सिस्टम ( ) का विस्तार कर सकते हैं। raspi-config S1 S4 S3 A1 Ansible . के साथ स्वचालित कॉन्फ़िगरेशन यदि आपके क्लस्टर में एक से अधिक रास्पबेरी पाई हैं, तो आप जैसे टूल का उपयोग करके कॉन्फ़िगरेशन प्रक्रिया को स्वचालित करना चाह सकते हैं। Ansible के साथ, आप दोहराए जाने वाले कार्यों को किए बिना कई मशीनों पर एक कमांड चला सकते हैं। उदाहरण के लिए, मान लें कि हम प्रत्येक रास्पबेरी पाई पर फाइल सिस्टम का विस्तार करना चाहते हैं। यह कमांड लाइन से निम्नानुसार किया जा सकता है: Ansible sudo raspi-config --expand-rootfs स्वचालन के बिना, आपको SSH से करना होगा, ऊपर दिए गए कमांड को चलाना होगा, और SSH सत्र को समाप्त करना होगा। आपको इन सभी चरणों को , , , आदि के लिए दोहराना होगा। इसके बजाय, आप केवल Ansible को सभी मशीनों पर आपके लिए कमांड चलाने के लिए कह सकते हैं। आइए देखें कि यह कैसे करना है। rpi01.local rpi02.local pr03.local rp04.local आपको Ansible को एक पर स्थापित करना होगा जो आपके स्थानीय नेटवर्क से जुड़ा है। यह रास्पबेरी पाई उपकरणों में से एक हो सकता है, आपका काम करने वाला लैपटॉप, या कोई अन्य मशीन जब तक यह लिनक्स या मैकओएस जैसे यूनिक्स-आधारित ऑपरेटिंग सिस्टम को चलाता है। नियंत्रण नोड मेरे पास एक पुराना लैपटॉप है जिसे मैंने अपने नेटवर्क से जुड़े , इसलिए मैंने इसे नियंत्रण नोड के रूप में उपयोग किया (मैं दिखाऊंगा कि भविष्य के लेख में रास्पबेरी पीआई उपकरणों में प्रतिकृति के साथ डेटाबेस कैसे स्थापित किया जाए)। एक समर्पित डेटाबेस के रूप में पुनर्निर्मित किया है मैं Ansible को स्थापित करने के निर्देशों के माध्यम से नहीं जाऊंगा क्योंकि विभिन्न ऑपरेटिंग सिस्टम पर प्रक्रिया अलग है। की जांच करें और इसे अपने लैपटॉप या किसी भी डिवाइस पर स्थापित करें जिसे आप नियंत्रण नोड के रूप में असाइन करना चाहते हैं। आधिकारिक दस्तावेज शुरू करने से पहले, मैं एक उदाहरण कॉन्फ़िगरेशन फ़ाइल बनाने की अनुशंसा करता हूं जिसे आप बाद में अपनी इच्छानुसार बदल सकते हैं: sudo su ansible-config init --disabled -t all > /etc/ansible/ansible.cfg exit इस फ़ाइल में, प्रक्रिया को सरल बनाने के लिए होस्ट कुंजी जाँच को अक्षम करें। उत्पादन वातावरण में ऐसा मत करो! निम्न पंक्ति बदलें: ;host_key_checking=True इसके लिए: host_key_checking=False इसके बाद, आपको एक इन्वेंट्री को परिभाषित करने की आवश्यकता है। यह उन मशीनों की सूची है जिन्हें आप Ansible से नियंत्रित करना चाहते हैं। इन्वेंट्री को फ़ाइल में परिभाषित किया गया है। उदाहरण के लिए, आप निम्न मशीनों को उनके आईपी पते या होस्टनाम का उपयोग करके सूची में जोड़ सकते हैं: /etc/ansible/hosts [mymachines] foo.example.com bar.example.com 192.0.2.50 192.0.2.51 यदि मशीनों के आईपी पते या होस्टनाम में किसी प्रकार का पैटर्न है, तो आप वैकल्पिक रूप से श्रेणियों का उपयोग कर सकते हैं। यह आप अपने रास्पबेरी पाई उपकरणों के साथ कर सकते हैं। निम्नलिखित को अंत में जोड़कर फ़ाइल को संपादित करें: /etc/ansible/hosts [rpis] rpi[01-08].local अपने होस्टनामों और संख्याओं से मेल खाने के लिए पैटर्न बदलें। यह इसके बराबर है: [rpis] rpi01.local rpi02.local rpi03.local rpi04.local rpi05.local rpi06.local rpi07.local rpi08.local इस सूची में, एक मनमाना नाम है जिसका उपयोग आप सभी रास्पबेरी पाई उपकरणों को संदर्भित करने के लिए कर सकते हैं जब उन पर Ansible का उपयोग करके कमांड चला रहे हों। rpis आपको SSH उपयोगकर्ता नाम को कॉन्फ़िगर करने की आवश्यकता है जो Ansible मशीनों से कनेक्ट करते समय उपयोग करेगा। निम्नलिखित को फ़ाइल में जोड़ें: /etc/ansible/hosts [rpis:vars] ansible_user=pi डी मशीनों को नियंत्रित करने का समय। उन्हें करना एक अच्छी शुरुआत है: पिंग ansible rpis -m ping --ask-pass SSH पासवर्ड टाइप करें। आपको आउटपुट में देखना चाहिए कि प्रत्येक मशीन के लिए "पिंग" का उत्तर "पोंग" द्वारा कैसे दिया जाता है (मैं यहां केवल एक दिखा रहा हूं): rpi01.local | SUCCESS => { "ansible_facts": { "discovered_interpreter_python": "/usr/bin/python3" }, "changed": false, "ping": "pong" } आइए फाइल सिस्टम विस्तार पर वापस जाएं (हालांकि, मुझे लगता है कि आजकल इसकी आवश्यकता नहीं है, अगर आप इसकी पुष्टि कर सकते हैं तो मुझे टिप्पणियों में बताएं)। सभी मशीनों पर यह क्रिया करने के लिए, चलाएँ: ansible rpis -m shell -a "raspi-config --expand-rootfs" --become --ask-pass और उतना ही सरल, आपके सभी रास्पबेरी पाई उपकरणों में एक विस्तारित फाइल सिस्टम है। सभी मशीनों पर सिस्टम को अपडेट करने का यह एक अच्छा समय है: ansible rpis -m shell -a "apt update -y" --become --ask-pass ansible rpis -m shell -a "apt upgrade -y" --become --ask-pass आप सभी उपकरणों को निम्नानुसार रीबूट कर सकते हैं: ansible rpis -m shell -a "reboot" --become --ask-pass और एक बार जब आप कर लें और सभी मशीनों को सुरक्षित रूप से बंद करना चाहते हैं, तो बस चलाएं: ansible rpis -m shell -a "poweroff" --become --ask-pass आगे क्या होगा? ये तो बस शुरुआत है। अब आपके पास छोटे कंप्यूटरों का एक समूह है जो Ansible द्वारा नियंत्रित होने के लिए तैयार है। आप वेब सर्वर या डेटाबेस सहित किसी भी प्रकार का सर्वर सॉफ़्टवेयर स्थापित करने का प्रयास कर सकते हैं ( )। Ansible के बारे में और भी बहुत कुछ है। यह उदाहरण देखें मैंने का उपयोग करके यहां केवल सतह को खरोंच दिया है, लेकिन उदाहरण के लिए आप बना सकते हैं जिसमें वह राज्य होता है जिसमें आप चाहते हैं कि आपका क्लस्टर हो। का अन्वेषण करें, और मज़े करें! एड-हॉक कमांड प्लेबुक दस्तावेज़ीकरण भी प्रकाशित यहाँ