Tras los artículos realizados relativos a los nodos maestros, ahora toca que nos pongamos a analizar los nodos agentes, que como vimos en el articulo anterior, son los que nos permiten ejecutar las demandas de los frameworks tras una oferta de recursos de los nodos maestros.
Introducción
La arquitectura que vamos a desplegar es muy básica pero nos va a permitir indagar en la configuración de los agentes activando las funcionalidades que consideremos necesarias bajo demanda:
- 3 nodos maestros configurados en alta disponibilidad
- 3 nodos agentes
Nodos Agentes
Los agentes de Apache Mesos son responsables de ejecutar las tareas desde los frameworks utilizando los recursos que tienen. A continuación vamos a proceder a realizar una configuración básica de estos nodos.
Configuración de los Nodos Agentes
Para la configuración de los nodos Agentes, vamos a seguir la misma operativa que hicimos para los nodos maestros, generando dos ficheros: uno para la definición del propio servicio de systemd y el otro para la configuración.
mesos-agent
Generaremos el fichero en /etc/default con el siguiente contenido:
#/etc/default/mesos-agent
# Options to pass to mesos-agent
MESOS_AGENT=--hostname=mesos-agen --ip=192.168.69.21 --log_dir=/var/log/mesos/agent --work_dir=/var/run/mesos --master=192.168.69.20:5050
–hostname: Nombre del host configurado en hosts
–ip: Ip del nodo y que tengamos configurada en hosts.
–log_dir= Ruta donde quedan guardados los logs del agente.
–work_dir: Ruta en la que se guardará la información relativa al agente, como por ejemplo, el almacenamiento de los frameworks.
–master: Ruta y puerto del nodo master. Si estamos aplicando alta disponibilidad en los nodos maestros, incluiremos la ruta de zookeeper para los maestros, por ejemplo:
--master= zk://master1.leonvillamayor.org:2181,master2.leonvillamayor.org:2181,master3.leonvillamayor.org:2181/mesos
Como veremos en posteriores artículos, la configuración de los agentes es mucho más extensa pero para el contenido de este artículo, esta nos puede servir.
mesos-agent.service
Este fichero, al igual que para el master, lo guardaremos en /etc/systemd/system/
# /etc/systemd/system/mesos-agent.service
[Unit]
Description=mesos-agent
After=network.target
[Service]
EnvironmentFile=/etc/default/mesos-agent
Restart=always
RestartSec=5
ExecStart=/opt/mesos/sbin/mesos-agent $MESOS_AGENT
[Install]
WantedBy=multi-user.target
# WantedBy=default.target *use this if you want to start on boot*
Activación y arranque del servicio del agente mesos
$ sudo systemctl start mesos-agent.service
# Si todo ha ido bien, activamos
$ sudo systemctl enable mesos-agent.service
Para comprobar que todo esta correcto, accedemos a la web del maestro.
Acceso a la web del master
Como podemos ver en la pantalla principal, disponemos de 3 nodos agentes, con sus correspondientes recursos. Si vamos a la pestaña de Agentes tendremos veremos los que se encuentran activos y los recursos en detalle:
Por ultimo, tambien podemos entrar dentro de uno de los agentes, marcandolo, viendo detalle completo sobre el agente.
Conclusiones
Activando los nodos agentes vamos a disponer de los recursos necesarios para que los frameworks puedan ejecutar sus jobs. La configuración es muy básica pero nos sirve para ver lo que tenemos entre manos. En el siguiente articulo, vamos a meternos en “chicha”, uniendo la parte teorica necesaria y aplicando la misma de forma práctica.