Construire un cluster Raspberry Pi - Partie III Gestion des nœuds simultanés

Construire un cluster Raspberry Pi - Partie III Gestion des nœuds simultanés

Voici le troisième article du bâtiment A Raspberry Pi Cluster Series. Nous parlerons de quels logiciels nous pouvons utiliser pour que tous les nœuds de cluster répondent à vos commandes en une seule fois, afin que vous puissiez installer ce que vous souhaitez et le faire une seule fois pour LL des nœuds de cluster au lieu de les configurer un par un comme entités séparées. Un tel logiciel facilite considérablement votre travail et réduit le temps nécessaire pour effectuer des opérations. Peu importe si vous avez quatre, huit ou cinquante nœuds pour travailler avec vous, vous pouvez tous faire la même chose en même temps.

Dans ce tutoriel, vous apprendrez:

  • Comment installer et configurer des clustersh
  • Comment installer du tissu et utiliser la commande fabuleuse
  • Comment donner des commandes à votre cluster
Voici un cluster Raspberry Pi à quatre nœuds accessible via Clusterssh.

Building Raspberry Pi Series:

  • Construire un cluster Raspberry Pi - Partie I: acquisition et assemblage matériel
  • Construire un cluster Raspberry Pi - Partie II: Installation du système d'exploitation
  • Construire un cluster Raspberry Pi - Partie III: Gestion simultanée de nœuds
  • Construire un cluster Raspberry Pi - Partie IV: Surveillance

Exigences et conventions logicielles utilisées

Exigences logicielles et conventions de ligne de commande Linux
Catégorie Exigences, conventions ou version logicielle utilisée
Système Raspberian Linux
Logiciel Cluster
Autre Accès privilégié à votre système Linux en tant que racine ou via le Sudo commande.
Conventions # - Exige que les commandes Linux soient exécutées avec des privilèges racine soit directement en tant qu'utilisateur racine, soit par l'utilisation de Sudo commande
$ - Exige que les commandes Linux soient exécutées en tant qu'utilisateur non privilégié régulier

Préparation

Vous avez configuré votre cluster, Raspbian est installé sur chaque nœud. Maintenant, tout ce que vous avez à faire est de SSH dans chacun d'eux et de changer le nom d'hôte de ces pis de framboise en commençant par celui en bas du cluster et monte. Vous pouvez changer le nom d'hôte avec

$ sudo hostname rpi1 

Redémarrez chaque Pi après cela pour que les modifications prennent effet au niveau rapide et passez au prochain Raspberry Pi. Laissez la valeur par défaut pi Utilisateur sur chaque nœud et modifiez son mot de passe en quelque chose d'autre, mais assurez-vous que chaque nœud a le même utilisateur et le même mot de passe défini.

Travaillez tous les nœuds à la fois avec Clusterssh

La meilleure chose à propos d'un cluster Raspberry Pi est que c'est bon marché à faire, rapide et ne nécessite pas beaucoup de ressources. Et une fois que vous l'avez configuré comme détaillé dans nos articles précédents, vous pouvez installer un logiciel sur chaque nœud car vous utilisiez un seul ordinateur. Le meilleur logiciel pour cela est Clusterssh - un logiciel SSH qui peut être configuré sur vos nœuds de cluster afin que vous puissiez les accéder tous en même temps et leur donner des commandes pour exécuter.

Imaginez un cluster Raspberry Pi à quatre nœuds, chacun avec sa propre fenêtre de terminal. Et tout ce que vous tapez dans une boîte de dialogue se reproduit en temps réel dans chacune de ces fenêtres terminales. C'est ce que fait Clusterssh - il prend l'entrée d'une petite fenêtre et la transforme en entrée distribuée à tous les nœuds de cluster.



Installer cluster Vous ouvrez votre distribution Linux préférée sur votre ordinateur portable et la recherchez dans vos référentiels. Si vous utilisez Ubuntu, l'installation se fait avec

$ sudo apt install clusterssh 

Cela créera quelques fichiers sur votre système. Le premier que vous devez prendre en compte cependant est votre / etc / hôtes déposer. Ouvrez-le dans un éditeur de texte et ajoutez les quatre nœuds du cluster dans ce fichier, un par ligne:

192.168.1.124 RPI4 192.168.1.126 RPI1 192.168.1.150 RPI3 192.168.1.252 RPI2 

Le cluster que nous utilisons dans ce tutoriel obtient ses adresses IP via DCHP à partir d'un routeur local. Pour vérifier quelle adresse IP chacun de vos nœuds de framboise PI a utilisé ifconfig. Nous avons attribué un nom d'hôte facile à retenir pour chacun de ces nœuds: RPI1, rpi2, RPI3 et RPI4. Une fois que vous avez leur adresse IP et que vous avez modifié le / etc / hôtes Fichier sur votre ordinateur portable ou PC Il sera plus facile d'accéder à chacun de ces nœuds. Sauver la / etc / hôtes Fixez et fermez-le.

Maintenant, vous devrez ouvrir le / etc / clusters déposer ce cluster les usages. Si ce fichier n'est pas présent après avoir installé cluster Vous pouvez le créer vous-même. Ajoutez ce qui suit sur la première ligne du fichier:

picluster pi @ rpi1 pi @ rpi2 pi @ rpi3 pi @ rpi4 

et enregistrer le fichier. Cela raconte cluster qu'il y a un cluster nommé picluster défini et qu'il a quatre nœuds avec le même utilisateur sur chacun: pi. Il y a un autre fichier que vous devez connaître - le fichier de configuration situé dans ~ /.clusterssh /. Simplement nommé configurer, Il contient des options de configuration concernant les fenêtres du terminal que vous utiliserez pour commander le cluster. Par exemple, si vous souhaitez modifier la police terminale en terminus, ajoutez la ligne

Terminal_font = terminus-ISO8859-9-16 

au fichier. Vous pouvez prédéfinir un utilisateur SSH que le logiciel invoquera lorsqu'il est lancé, une fois dans chaque fenêtre de terminal, alors ajoutez également le

utilisateur = pi 

se mettre en ligne ~ /.clusterssh / config.



Une fois que vous avez configuré le fichier de configuration comme vous le souhaitez, vous pouvez connecter tous les nœuds de cluster afin que le Raspberry Pis démarre tous, attendez environ 30 secondes pour qu'ils atteignent la fin du processus de démarrage, puis lancent cluster sur votre ordinateur portable avec

$ cssh picluster 

Quatre Terminal Windows doit apparaître immédiatement et ils demanderont le mot de passe de connexion d'un utilisateur nommé pi. Il y a une petite fenêtre avec une boîte de dialogue dans laquelle vous pouvez taper toutes vos commandes et vous devez taper le mot de passe dans cette boîte et frapper Entrer. Tous les nœuds vous connecteront immédiatement et à partir de ce point, vous pouvez installer tout ce qui est sur le cluster, mettre à jour tous les nœuds avec une seule commande, modifier des fichiers de configuration et faire tout une fois, au lieu de répéter les mêmes étapes quatre fois dans une rangée.

Travailler tous les nœuds à la fois avec du tissu

Il se peut que vous souhaitiez donner une commande au cluster Raspberry Pi et que vous ne souhaitez pas utiliser quatre fenêtres terminales distinctes. Si vous prévoyez d'étendre votre cluster à - disons - 8 ou 12 nœuds traitant avec autant d'écrans sur votre bureau serait désagréable. Il existe donc une alternative à cluster Et c'est un petit script python.

Assurez-vous que vous avez Python Installé sur l'ordinateur portable ou le PC, vous utilisez pour accéder aux nœuds de cluster via SSH et utiliser pépin Pour installer le tissu Package Python:

$ sudo pip install tissu 

Créez maintenant un fabfile.py dossier dans votre répertoire domestique avec

$ touch Fabfile.py 

et le rendre exécutable:

$ chmod + x fabfile.py 

Modifiez maintenant ce fichier et ajoutez-y le script suivant:



de tissu.API IMPORT * ENV.hôtes = [# rpi1 'pi @ 192.168.1.126 ', # rpi2' pi @ 192.168.1.252 ', # rpi3' pi @ 192.168.1.124 ', # rpi4' pi @ 192.168.1.150 ',] # L'inconvénient est que vous devez utiliser un mot de passe en texte clair env.mot de passe = 'your_pi_password' # Lancez la commande sur tous les nœuds de cluster @Parallel def cmd (commande): sudo (commande)

Remplacez les adresses IP ci-dessus par celles attribuées à vos nœuds de cluster et modifiez VOTRE_PI_PASSWORD au mot de passe attribué au pi Utilisateur sur chaque nœud. Sauver la fabfile.py fichier que vous venez de modifier. Tapez maintenant

$ fab CMD: "ls -La" 

Pour voir une liste de répertoires de tous vos fichiers dans le répertoire domestique de chaque nœud de cluster - le tout dans la même fenêtre de terminal. Le Fab CMD: "" La commande prend toute commande que vous mettez entre ces devis et l'exécute sur chaque nœud de cluster vous donnant une sortie verbeux dans la fenêtre de terminal que vous avez tapé dans. Il est utile lors de l'exécution de longues opérations telles que la compilation ou la mise à jour de votre système car vous pouvez voir les lignes faire défiler et toujours savoir quel nœud de cluster se trouve dans quelle partie du processus à quelle heure.

Conclusion

Vous pouvez ainsi configurer chacun de vos nœuds de cluster avec le logiciel que vous désirez. Vous pouvez utiliser le cluster pour appliquer des applications de compilation, analyser les données, installer les packages R - tout sans avoir besoin de répéter la même commande. Vous pouvez contrôler l'ensemble du cluster avec soit cluster ou la fabfile.py détaillé ci-dessus. Dans la prochaine partie de la série, nous allons jeter un œil sur la façon de retirer les informations de votre cluster et comment surveiller tous les nœuds et leurs ressources.

Tutoriels Linux connexes:

  • Comment créer un cluster Kubernetes
  • Comment installer Kubernetes sur Ubuntu 20.04 Focal Fossa Linux
  • Comment installer Kubernetes sur Ubuntu 22.04 Jammy Jellyfish…
  • Choses à installer sur Ubuntu 20.04
  • Une introduction à l'automatisation Linux, des outils et des techniques
  • Choses à faire après l'installation d'Ubuntu 20.04 Focal Fossa Linux
  • Ubuntu 20.04 Guide
  • Choses à faire après l'installation d'Ubuntu 22.04 Jammy Jellyfish…
  • Masterring Bash Script Loops
  • Choses à installer sur Ubuntu 22.04