Budowanie klastra Raspberry Pi - część III jednoczesne zarządzanie węzłami
- 2676
- 795
- Pani Janina Cieśla
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
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
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
- « Budowanie klastra Raspberry Pi - część I akwizycja i montaż sprzętu
- Jak zainstalować Dockera w Debian 10 Buster Linux »