Budowanie klastra Raspberry Pi - część III jednoczesne zarządzanie węzłami

Budowanie klastra Raspberry Pi - część III jednoczesne zarządzanie węzłami

Oto trzeci artykuł w budynku serii klastrów Raspberry Pi. Porozmawiamy o tym, jakiego oprogramowania możemy użyć, aby wszystkie węzły klastra odpowiadały na twoje polecenia naraz, abyś mógł zainstalować wszystko oddzielne podmioty. Takie oprogramowanie znacznie łagodzi twoją pracę i skraca czas potrzebny na wykonywanie operacji. Nie ma znaczenia, czy masz cztery, osiem lub pięćdziesiąt węzłów do pracy, możesz sprawić, że wszystkie robią to samo w tym samym czasie.

W tym samouczku nauczysz się:

  • Jak zainstalować i skonfigurować Clusterssh
  • Jak zainstalować materiał i użyć polecenia Fab
  • Jak przekazać polecenia swojej klastrze
Oto cztery węzła Raspberry Pi, do której można uzyskać.

Budowanie Raspberry Pi Series:

  • Budowanie klastra Raspberry Pi - Część I: Akwizycja i montaż sprzętu
  • Budowanie klastra Raspberry Pi - Część II: Instalacja systemu operacyjnego
  • Budowanie klastra Raspberry Pi - Część III: Jednoczesne zarządzanie węzłami
  • Budowanie klastra Raspberry Pi - Część IV: Monitorowanie

Zastosowane wymagania i konwencje oprogramowania

Wymagania oprogramowania i konwencje linii poleceń Linux
Kategoria Wymagania, konwencje lub wersja oprogramowania
System Raspberian Linux
Oprogramowanie Klasters
Inny Uprzywilejowany dostęp do systemu Linux jako root lub za pośrednictwem sudo Komenda.
Konwencje # - Wymaga, aby podane polecenia Linux są wykonywane z uprawnieniami root bezpośrednio jako użytkownik root lub za pomocą sudo Komenda
$ - Wymaga, aby podane polecenia Linux zostały wykonane jako zwykły użytkownik niepewny

Przygotowanie

Masz skonfigurowany klaster, Raspbian jest zainstalowany w każdym węźle. Teraz wszystko, co musisz zrobić. Możesz zmienić nazwę hosta za pomocą

$ sudo hostName RPI1 

Uruchom ponownie każdy PI, aby wprowadzić zmiany na szybkim poziomie i przejdź do następnego Raspberry Pi. Zostaw domyślnie Liczba Pi Użytkownik w każdym węźle i zmień jego hasło na coś innego, ale upewnij się, że każdy węzeł ma tego samego użytkownika i zdefiniowane to samo hasło.

Pracuj wszystkie węzły jednocześnie z klastrami

Najlepszą rzeczą w klastrze Raspberry Pi jest to, że jest tani do tworzenia, szybkiego i nie wymaga wielu zasobów. A kiedy skonfigurujesz go, jak szczegółowo opisano w naszych poprzednich artykułach, możesz zainstalować oprogramowanie w każdym węźle, gdy korzystałeś z jednego komputera. Najlepszym oprogramowaniem do tego jest Clusterssh - oprogramowanie SSH, które można skonfigurować w węzłach klastrów, abyś mógł uzyskać do nich dostęp na raz i dać im polecenia do wykonania.

Wyobraź sobie klaster Raspberry Pi z czterema węzłami, każdy z własnym oknem terminalu. I cokolwiek wpiszesz w oknie dialogowym, zostanie odtworzone w czasie rzeczywistym w każdym z tych terminali Windows. To właśnie robi Clusterssh - przyjmuje wejście małego okna i przekształca je w wejście rozmieszczone na wszystkie węzły klastra.



Ustawić Klasters Otwierasz swoją ulubioną dystrybucję Linux na swoim laptopie i szukasz go w repozytoriach. Jeśli używasz Ubuntu, instalacja jest gotowa

$ sudo apt instal clusterssh 

To utworzy kilka plików w twoim systemie. Pierwszym, który powinieneś wziąć pod uwagę, jest twój /etc/hosts plik. Otwórz go w edytorze tekstu i dodaj cztery węzły klastra w tym pliku, jeden na wiersz:

192.168.1.124 RPI4 192.168.1.126 RPI1 192.168.1.150 RPI3 192.168.1.252 RPI2 

Klaster, którego używamy w tym samouczku, otrzymuje swoje adresy IP za pośrednictwem DCHP z lokalnego routera. Aby sprawdzić, jaki adres IP używa każdego z węzłów Raspberry Pi ifconfig. Przypisaliśmy łatwą do zapamiętania nazwę hosta dla każdego z tych węzłów: RPI1, RPI2, RPI3 I RPI4. Po uzyskaniu ich adresu IP i zmodyfikowaniu /etc/hosts Plik na laptopie lub komputerze będzie łatwiej uzyskać dostęp do każdego z tych węzłów. Zapisz /etc/hosts Plik i zamknij.

Teraz będziesz musiał otworzyć /etc/klastry złożyć to Klasters zastosowania. Jeśli ten plik nie jest obecny po zainstalowaniu Klasters możesz to stworzyć sam. Dodaj następujące czynności w pierwszym wierszu pliku:

Picluster pi@rpi1 pi@rpi2 pi@rpi3 pi@rpi4 

i zapisz plik. To mówi Klasters że jest nazwany klaster Picluster zdefiniowane i że ma cztery węzły z tym samym użytkownikiem na każdym: Liczba Pi. Istnieje inny plik, który powinieneś wiedzieć - plik konfiguracyjny znajdujący się w ~/.Klastrowy/. Po prostu nazwany konfigurator, Zawiera opcje konfiguracji dotyczące okien terminalu, których będziesz używać do polecenia klastra. Na przykład, jeśli chcesz zmienić czcionkę terminalową na terminus, dodaj linię

terminal_font = terminus-iso8859-9-16 

do pliku. Możesz predfiniować użytkownik SSH, oprogramowanie wywoła po uruchomieniu, raz w każdym oknie terminalu, więc dodaj także

Użytkownik = PI 

linia do ~/.Clusterssh/config.



Po skonfigurowaniu pliku konfiguracyjnego, jak chcesz, możesz podłączyć wszystkie węzły klastra, aby Raspberry Pis uruchomiła się, poczekaj na około 30 sekund, aby osiągnąć koniec procesu uruchamiania, a następnie uruchomić Klasters na swoim laptopie z

$ CSSH Picluster 

Cztery Terminal Windows powinien pojawić się od razu i poprosi o hasło logowania użytkownika o nazwie Liczba Pi. Istnieje małe okno z oknem dialogowym, w którym możesz wpisać całe polecenie i powinieneś wpisać hasło do tego pola i trafić Wchodzić. Wszystkie węzły zalogują się od razu i od tego momentu możesz solizować instalację wszystkiego w klastrze, zaktualizować wszystkie węzły za pomocą jednego polecenia, edytować pliki konfiguracyjne i w zasadzie zrobić wszystko raz, zamiast powtarzać te same kroki cztery razy w wiersz.

Pracuj wszystkie węzły jednocześnie z materiałem

Być może chcesz przekazać polecenie klasterowi Raspberry Pi i nie chcesz używać czterech oddzielnych okien terminalu. Jeśli planujesz rozszerzyć swój klaster na - powiedz - 8 lub 12 węzłów zajmujących się tym wieloma ekranami na twoim pulpicie byłoby nieprzyjemne. Jest więc alternatywa dla Klasters I to mały skrypt Python.

Upewnij się że masz Pyton Zainstalowane na laptopie lub komputerze, którego używasz, aby uzyskać dostęp do węzłów klastrów za pośrednictwem SSH i używać pypeć Aby zainstalować tkanina Pakiet Python:

$ sudo pip instaluj tkaninę 

Teraz utwórz Fabfile.py plik w katalogu domowym z

$ Touch Fabfile.py 

i spraw, aby był wykonywalny:

$ chmod +x fabfile.py 

Teraz edytuj ten plik i dodaj do niego następujący skrypt:



z tkaniny.Import API * env.hosts = [ #rpi1 '[email protected] ', #rpi2' [email protected] ', #rpi3' [email protected] ', #rpi4' [email protected] ',] # Minusem jest użycie PlainText Hasło Env.hasło = 'your_pi_password' # uruchom polecenie do wszystkich węzłów klastrów @Parallel def cmd (polecenie): sudo (polecenie)

Zastąp powyższe adresy IP na te przypisane do węzłów klastrów i zmień Twój_pi_password do hasła przypisanego do Liczba Pi Użytkownik w każdym węźle. Zapisz Fabfile.py Plik, który właśnie zmodyfikowałeś. Teraz typ

$ fab cmd: „ls -la” 

Aby zobaczyć listę katalogów wszystkich plików w katalogu domowym każdego węzła klastra - wszystko w tym samym oknie terminalu. Fab CMD: „” Polecenie przyjmuje dowolne polecenie, które umieściłeś między tymi cytatami i wykonuje je w każdym węźle klastra, dając ci wyjście w oknie terminalu, w którym to wpisałeś. Jest to przydatne podczas wykonywania długich operacji, takich jak kompilacja lub aktualizacja systemu, ponieważ widać przewijanie linii i zawsze wiedzieć, który węzeł klastra jest w jakiej części procesu o której godzinie.

Wniosek

W ten sposób możesz skonfigurować każdy ze swoich węzłów klastrów z żądanym oprogramowaniem. Możesz użyć klastra do maskowania aplikacji kompilacji, analizowania danych, instalacji pakietów R - wszystko bez potrzeby powtórzenia tego samego polecenia. Możesz kontrolować cały klaster za pomocą jednego Klasters albo Fabfile.py szczegółowo powyżej. W następnej części serii przyjrzymy się, jak uzyskać informacje z klastra i jak monitorować wszystkie węzły i ich zasoby.

Powiązane samouczki Linux:

  • Jak utworzyć klaster Kubernetes
  • Jak zainstalować Kubernetes na Ubuntu 20.04 Focal Fossa Linux
  • Jak zainstalować Kubernetes na Ubuntu 22.04 JAMMY Jellyfish…
  • Rzeczy do zainstalowania na Ubuntu 20.04
  • Wprowadzenie do automatyzacji, narzędzi i technik Linuksa
  • Rzeczy do zrobienia po zainstalowaniu Ubuntu 20.04 Focal Fossa Linux
  • Ubuntu 20.04 Przewodnik
  • Rzeczy do zrobienia po zainstalowaniu Ubuntu 22.04 JAMMY Jellyfish…
  • Mastering Bash Script Loops
  • Rzeczy do zainstalowania na Ubuntu 22.04