Construyendo un clúster Raspberry Pi - Gestión de nodos simultáneos de Parte III

Construyendo un clúster Raspberry Pi - Gestión de nodos simultáneos de Parte III

Aquí está el tercer artículo en el edificio una serie de clúster de Raspberry Pi. Hablaremos sobre qué software podemos usar para hacer que todos los nodos de clúster respondan a sus comandos a la vez, para que pueda instalar lo que desee y hacerlo solo una vez para LL de los nodos de clúster en lugar de configurarlos uno por uno tan entidades separadas. Dicho software facilita enormemente su trabajo y reduce el tiempo necesario para realizar operaciones. No importa si tiene cuatro, ocho o cincuenta nodos para trabajar con usted, puede hacer que todos hagan lo mismo al mismo tiempo.

En este tutorial aprenderás:

  • Cómo instalar y configurar Clusterssh
  • Cómo instalar la tela y usar el comando FAB
  • Cómo dar comandos a tu clúster
Aquí hay un clúster de cuatro nodos Raspberry Pi accedido a través de Clusterssh.

Construcción de la serie Raspberry Pi:

  • Construyendo un clúster de Raspberry Pi - Parte I: Adquisición y ensamblaje de hardware
  • Construyendo un clúster de Raspberry Pi - Parte II: Instalación del sistema operativo
  • Construyendo un clúster de Raspberry Pi - Parte III: gestión de nodos simultáneos
  • Construir un clúster de frambuesa Pi - Parte IV: Monitoreo

Requisitos y convenciones de software utilizados

Requisitos de software y convenciones de línea de comandos de Linux
Categoría Requisitos, convenciones o versión de software utilizada
Sistema Raspberian Linux
Software Clústeres
Otro Acceso privilegiado a su sistema Linux como root o a través del sudo dominio.
Convenciones # - requiere que los comandos de Linux dados se ejecuten con privilegios raíz directamente como un usuario raíz o mediante el uso de sudo dominio
ps - Requiere que los comandos de Linux dados se ejecuten como un usuario regular no privilegiado

Preparación

Tiene su clúster configurado, Raspbian está instalado en cada nodo. Ahora todo lo que tiene que hacer es ssh en cada uno de ellos y cambiar el nombre de host de estos pis de frambuesa comenzando con la que está en la parte inferior del clúster y subiendo. Puedes cambiar el nombre de host con

$ sudo hostname rpi1 

Reinicie cada PI después de eso para que los cambios entren en vigencia en el nivel rápido y pase al siguiente Raspberry Pi. Deja el valor predeterminado Pi usuario en cada nodo y cambie su contraseña a otra cosa, pero asegúrese de que cada nodo tenga el mismo usuario y la misma contraseña definida.

Trabaja todos los nodos a la vez con Clusterssh

Lo mejor de un clúster de Raspberry Pi es que es barato de hacer, rápido y no requiere muchos recursos. Y una vez que lo configure como se detalla en nuestros artículos anteriores, puede instalar software en cada nodo, ya que estaba utilizando una sola computadora. El mejor software para esto es Clusterssh: un software SSH que se puede configurar en sus nodos de clúster para que pueda acceder a todos a la vez y darles comandos para ejecutar.

Imagine un clúster de Raspberry Pi de cuatro nodos, cada uno con su propia ventana terminal. Y lo que sea que escriba en un cuadro de diálogo se reproduce en tiempo real en cada una de esas ventanas terminales. Eso es lo que hace Clusterssh: toma la entrada de una pequeña ventana y la transforma en entrada distribuida a todos los nodos de clúster.



Para configurar clústeres Usted abre su distribución favorita de Linux en su computadora portátil y la busca en sus repositorios. Si está utilizando Ubuntu, la instalación está realizada con

$ sudo apt instalación clusterssh 

Esto creará algunos archivos en su sistema. El primero que debe tener en cuenta es su /etc/huéspedes archivo. Ábrelo en un editor de texto y agregue los cuatro nodos del clúster en este archivo, uno por línea:

192.168.1.124 RPI4 192.168.1.126 RPI1 192.168.1.150 RPI3 192.168.1.252 RPI2 

El clúster que estamos usando en este tutorial obtiene sus direcciones IP a través de DCHP de un enrutador local. Para verificar qué dirección IP ha usado cada uno de sus nodos de Raspberry Pi ifconfig. Asignamos un nombre de host fácil de recordar para cada uno de estos nodos: RPI1, RPI2, RPI3 y RPI4. Una vez que tenga su dirección IP y haya modificado el /etc/huéspedes Archivo en su computadora portátil o PC será más fácil acceder a cada uno de estos nodos. Salva el /etc/huéspedes Archivo y cerrarlo.

Ahora tendrás que abrir el /etc/clústeres presentar que clústeres usos. Si este archivo no está presente después de haber instalado clústeres Puedes crearlo tú mismo. Agregue lo siguiente en la primera línea del archivo:

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

y guarda el archivo. Esto dice clústeres que hay un clúster llamado picluster definido y que tiene cuatro nodos con el mismo usuario en cada uno: Pi. Hay otro archivo que debe conocer: el archivo de configuración ubicado en ~/.Clusterssh/. Simplemente nombrado configuración, Contiene opciones de configuración con respecto al terminal Windows que usará para comandar el clúster. Por ejemplo, si desea cambiar la fuente terminal a terminal, agregue la línea

terminal_font = terminus-iso8859-9-16 

al archivo. Puede predefinir un usuario de SSH, el software invocará cuando se inicie, una vez en cada ventana de terminal, por lo que también agregue el

usuario = PI 

alinearse a ~/.clusterssh/config.



Una vez que haya configurado el archivo de configuración, según lo desee, puede conectar todos los nodos de clúster para que los pis de Raspberry se inicien, espere unos 30 segundos para que lleguen al final del proceso de arranque y luego se inicien clústeres en tu computadora portátil con

$ CSSH Picluster 

Cuatro Terminal Windows debe aparecer de inmediato y solicitarán la contraseña de inicio de sesión de un usuario nombrado Pi. Hay una ventana pequeña con un cuadro de diálogo en el que puede escribir todo su comando y debe escribir la contraseña en ese cuadro y presionar Ingresar. Todos los nodos lo registrarán de una vez y desde este punto, puede instalar cualquier cosa en el clúster, actualizar todos los nodos con un solo comando, editar archivos de configuración y básicamente hacer todo una vez, en lugar de repetir los mismos pasos cuatro veces. una fila.

Trabajar todos los nodos a la vez con tela

Puede ser que desee dar un comando al clúster Raspberry Pi y no desea usar cuatro ventanas terminales separadas. Si planea extender su clúster a - digamos - 8 o 12 nodos que se ocupan de esas pantallas en su escritorio serían desagradables. Entonces hay una alternativa a clústeres Y es un pequeño guión de Python.

Asegúrate de tener Pitón instalado en la computadora portátil o PC que usa para acceder a los nodos de clúster a través de SSH y usar pepita Para instalar el tela Paquete de Python:

$ sudo pip instalación de instalación 

Ahora crea un Fabfile.py Archivo en su directorio de inicio con

$ touch fabule.py 

y hazlo ejecutable:

$ chmod +x fabuloso.py 

Ahora edite ese archivo y agregue el siguiente script:



de tela.importación de API * envían.hosts = [ #rpi1 '[email protected] ', #rpi2' [email protected] ', #rpi3' [email protected] ', #rpi4' [email protected] ',] # La desventaja es que tienes que usar una contraseña de texto sin formato env env y.contraseña = 'Your_pi_Password' # inicia el comando a todos los nodos de clúster @parallel def cmd (comando): sudo (comando)

Reemplace las direcciones IP anteriores con las asignadas a sus nodos de clúster y cambie You_pi_password a la contraseña asignada al Pi usuario en cada nodo. Salva el Fabfile.py archivo que acaba de modificar. Ahora escriba

$ Fab CMD: "LS -LA" 

Para ver una lista de directorio de todos sus archivos en el directorio de inicio de cada nodo de clúster, todo en la misma ventana terminal. El Fab CMD: "" El comando toma cualquier comando que coloque entre esas cotizaciones y lo ejecute en cada nodo de clúster que le brinda una salida detallada en la ventana del terminal que escribió eso en. Es útil al ejecutar operaciones largas, como compilar o actualizar su sistema, ya que puede ver que las líneas se desplazaron y siempre sepa qué nodo de clúster está en qué parte del proceso en qué momento.

Conclusión

Por lo tanto, puede configurar cada uno de sus nodos de clúster con el software que desea. Puede usar el clúster para compilar aplicaciones a granel, analizar datos, instalar paquetes R, todo sin la necesidad de repetir el mismo comando. Puedes controlar todo el clúster con cualquiera clústeres o el Fabfile.py detallado arriba. En la siguiente parte de la serie, veremos cómo sacar información de su clúster y cómo monitorear todos los nodos y sus recursos.

Tutoriales de Linux relacionados:

  • Cómo crear un clúster de Kubernetes
  • Cómo instalar Kubernetes en Ubuntu 20.04 fossa focal Linux
  • Cómo instalar Kubernetes en Ubuntu 22.04 Jellyfish de Jammy ..
  • Cosas para instalar en Ubuntu 20.04
  • Una introducción a la automatización, herramientas y técnicas de Linux
  • Cosas que hacer después de instalar Ubuntu 20.04 fossa focal Linux
  • Ubuntu 20.04 Guía
  • Cosas que hacer después de instalar Ubuntu 22.04 Jellyfish de Jammy ..
  • Mastering Bash Script Loops
  • Cosas para instalar en Ubuntu 22.04