Construindo um cluster Raspberry Pi - Parte III Gerenciamento de Nó Simultâneo

Construindo um cluster Raspberry Pi - Parte III Gerenciamento de Nó Simultâneo

Aqui está o terceiro artigo do edifício uma série de cluster de Raspberry Pi. Falaremos sobre qual software podemos usar para fazer com que todos os nós do cluster respondam aos seus comandos de uma só vez, para que você possa instalar o que quiser e fazê -lo apenas uma vez para LL dos nós do cluster, em vez de configurá -los um a um como como entidades separadas. Esse software facilita muito o seu trabalho e reduz o tempo necessário para executar operações. Não importa se você tem quatro, oito ou cinquenta nós para trabalhar, pode fazer com que todos façam a mesma coisa ao mesmo tempo.

Neste tutorial, você aprenderá:

  • Como instalar e configurar clusterssh
  • Como instalar Fabric e usar o comando FAB
  • Como dar comandos ao seu cluster
Aqui está um cluster de Raspberry Pi de quatro nós acessado através de clusterssh.

Construção da série Raspberry Pi:

  • Construindo um cluster Raspberry Pi - Parte I: Aquisição e montagem de hardware
  • Construindo um cluster Raspberry Pi - Parte II: Instalação do sistema operacional
  • Construindo um cluster Raspberry Pi - Parte III: Gerenciamento de nós simultâneos
  • Construindo um cluster de Raspberry Pi - Parte IV: Monitoramento

Requisitos de software e convenções usadas

Requisitos de software e convenções de linha de comando Linux
Categoria Requisitos, convenções ou versão de software usada
Sistema Linux framboivo
Programas Clusterssh
Outro Acesso privilegiado ao seu sistema Linux como raiz ou através do sudo comando.
Convenções # - requer que os comandos Linux sejam executados com privilégios root diretamente como usuário root ou por uso de sudo comando
$ - Requer que os comandos do Linux sejam executados como um usuário não privilegiado regular

Preparação

Você está configurado para o seu cluster, o Raspbian está instalado em cada nó. Agora, tudo o que você precisa fazer é SSH em cada um deles e mudar o nome do host desses pis de framboesa começando com aquele na parte inferior do cluster e subindo. Você pode mudar o nome do host com

$ sudo hostname rpi1 

Reinicie cada Pi depois disso para fazer as alterações entrarem em vigor no nível do prompt e passe para o próximo Raspberry Pi. Deixe o padrão pi Usuário em cada nó e altere sua senha para outra coisa, mas verifique se cada nó tem o mesmo usuário e a mesma senha definida.

Trabalhe todos os nós de uma só vez com clusterssh

A melhor coisa sobre um cluster Raspberry Pi é que é barato de fazer, rápido e não requer muitos recursos. E depois de configurá -lo como detalhado em nossos artigos anteriores, você pode instalar o software em cada nó enquanto estava usando um único computador. O melhor software para isso é o clusterssh - um software SSH que pode ser configurado em seus nós de cluster, para que você possa acessá -los de uma só vez e dar a eles comandos para executar.

Imagine um cluster Raspberry Pi de quatro nós, cada um com sua própria janela de terminal. E tudo o que você digita em uma caixa de diálogo é reproduzido em tempo real em cada uma dessas janelas do terminal. É isso que o clusterssh faz - ele pega a entrada de uma pequena janela e a transforma em entrada distribuída a todos os nós do cluster.



Para configurar Clusterssh Você abre sua distribuição favorita do Linux em seu laptop e o procura em seus repositórios. Se você estiver usando o Ubuntu, a instalação é feita com

$ sudo apt clusterssh 

Isso criará alguns arquivos em seu sistema. O primeiro que você deve levar em consideração, no entanto, é o seu /etc/hosts arquivo. Abra -o em um editor de texto e adicione os quatro nós do cluster neste arquivo, um por linha:

192.168.1.124 RPI4 192.168.1.126 RPI1 192.168.1.150 RPI3 192.168.1.252 RPI2 

O cluster que estamos usando neste tutorial recebe seus endereços IP via DCHP de um roteador local. Para verificar qual endereço IP cada um dos seus nós Raspberry Pi usou ifconfig. Atribuímos um nome de host fácil de lembrar para cada um desses nós: rpi1, rpi2, rpi3 e rpi4. Depois de ter o endereço IP deles e modificar o /etc/hosts Arquivo no seu laptop ou PC, será mais fácil acessar cada um desses nós. Salve o /etc/hosts Arquive e feche -o.

Agora você terá que abrir o /etc/clusters Arquive isso Clusterssh usos. Se este arquivo não estiver presente depois de instalar Clusterssh você pode criar você mesmo. Adicione o seguinte na primeira linha do arquivo:

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

e salve o arquivo. Isso diz Clusterssh que há um cluster chamado picluster definido e que possui quatro nós com o mesmo usuário em cada um: pi. Há outro arquivo que você deve conhecer - o arquivo de configuração localizado em ~/.clusterssh/. Simplesmente nomeado Config, Ele contém opções de configuração em relação às janelas do terminal que você usará para comandar o cluster. Por exemplo, se você deseja alterar a fonte do terminal para terminal, adicione a linha

terminal_font = Terminus-Iso8859-9-16 

para o arquivo. Você pode predefinar um usuário ssh o software será invocado quando lançado, uma vez em cada janela do terminal; portanto, adicione também o

usuário = pi 

linha para ~/.clusterssh/config.



Depois de configurar o arquivo de configuração, como você deseja, você pode conectar todos os nós do cluster para que o Raspberry Pi Clusterssh em seu laptop com

$ cssh picluster 

Quatro terminal O Windows deve aparecer de uma só vez e pedirá a senha de login de um usuário nomeado pi. Há uma pequena janela com uma caixa de diálogo em que você pode digitar todo o seu comando e digitar a senha nessa caixa e acertar Digitar. Todos os nós farão o login de uma vez e a partir deste momento, você pode instalar qualquer coisa no cluster, atualizar todos os nós com um único comando, editar arquivos de configuração e basicamente fazer tudo uma vez, em vez de repetir as mesmas etapas quatro vezes em uma fila.

Trabalhe todos os nós de uma só vez com tecido

Pode ser que você queira dar um comando ao cluster Raspberry Pi e não deseja usar quatro janelas de terminal separadas. Se você planeja estender seu cluster a - digamos - 8 ou 12 nós que lidam com tantas telas em sua área de trabalho, seriam desagradáveis. Portanto, há uma alternativa a Clusterssh E é um pequeno script python.

Assegure-se de ter Pitão instalado no laptop ou PC que você usa para acessar os nós do cluster via SSH e usar pip Para instalar o tecido Pacote Python:

$ sudo pip install pick 

Agora crie um fabfile.py Arquivo em seu diretório doméstico com

$ touch fabfile.py 

e torne -o executável:

$ chmod +x fabfile.py 

Agora edite esse arquivo e adicione o seguinte script a ele:



do tecido.Importação da API * Env.hosts = [ #rpi1 '[email protected] ', #rpi2' [email protected] ', #rpi3' [email protected] ', #rpi4' [email protected] ',] # A desvantagem é que você deve usar uma senha de texto simples Env.senha = 'your_pi_password' # inicie o comando para todos os nós do cluster @parallel def cmd (comando): sudo (comando)

Substitua os endereços IP acima pelos atribuídos aos seus nós de cluster e altere Your_pi_password para a senha atribuída ao pi Usuário em cada nó. Salve o fabfile.py arquivo que você acabou de modificar. Agora tipo

$ fab cmd: "ls -la" 

Para ver uma lista de diretórios de todos os seus arquivos no diretório inicial de cada nó de cluster - tudo na mesma janela do terminal. O Fab CMD: "" O comando pega qualquer comando que você coloca entre essas citações e o executa em cada nó de cluster, dando a você uma saída detalhada na janela do terminal em que você digitou que isso. É útil ao executar operações longas, como compilar ou atualizar seu sistema, pois você pode ver as linhas rolar e sempre saber qual nó de cluster está em qual parte do processo a que horas.

Conclusão

Assim, você pode configurar cada um dos seus nós de cluster com o software que deseja. Você pode usar o cluster para aplicações em massa de compilação, dados analisar, instalar pacotes R - tudo sem a necessidade de repetir o mesmo comando. Você pode controlar o cluster inteiro com qualquer Clusterssh ou o fabfile.py detalhado acima. Na próxima parte da série, vamos dar uma olhada em como obter informações do seu cluster e como monitorar todos os nós e seus recursos.

Tutoriais do Linux relacionados:

  • Como criar um cluster Kubernetes
  • Como instalar Kubernetes no Ubuntu 20.04 fossa focal linux
  • Como instalar Kubernetes no Ubuntu 22.04 Jellyfish…
  • Coisas para instalar no Ubuntu 20.04
  • Uma introdução à automação, ferramentas e técnicas do Linux
  • Coisas para fazer depois de instalar o Ubuntu 20.04 fossa focal linux
  • Ubuntu 20.04 Guia
  • Coisas para fazer depois de instalar o Ubuntu 22.04 Jellyfish…
  • Mastering Bash Script Loops
  • Coisas para instalar no Ubuntu 22.04