
Apache Mesos es un gestor de clústeres de código abierto desarrollado en UC Berkeley. Proporciona aislamiento y compartición de recursos entre aplicaciones distribuidas. La figura muestra los principales componentes de Mesos.
Mesos consta de maestro que gestiona esclavo que se ejecutan en cada nodo del clúster. Marcos Mesos son aplicaciones que se ejecutan en Mesos y ejecutan tareas sobre estos esclavos. Los esclavos son
máquinas físicas o virtuales, normalmente del mismo proveedor.

Mesos utiliza un mecanismo de programación de dos niveles en el que ofertas de recursos a los frameworks. El nodo maestro de Mesos decide cuántos recursos ofrecer a cada framework, mientras que cada framework determina los recursos que acepta y qué aplicación
ejecutar en esos recursos.
Maratón es una plataforma de orquestación de contenedores que se ejecuta en Mesos. Múltiples formatos de contenedores y Docker es compatible con
sin duda, la más común.
Este blog mostrará cómo configurar Mesos, Marathon, y ejecutar una imagen Docker simple. Esta configuración es sólo para los valientes de corazón. Siempre estoy interesado en mirar bajo el capó y eso es lo que motivó este post. Pero un futuro post mostrará una
instalación sin problemas.
Empecemos.
Configurar CentOS VM
Descargar CentOS y configure la máquina virtual como se muestra:

Instalar componentes
Instale los distintos componentes necesarios para esta configuración.
- Configure el repositorio de Mesos:
123456789101112131415[arun@arun-centos ~]$ sudo rpm -Uvh http://repos.mesosphere.com/el/7/noarch/RPMS/mesosphere-el-repo-7-1.noarch.rpmNosotros confíe en usted tienen recibido el habitual conferencia de el local SistemaAdministrador. En normalmente hierve abajo a estos tres cosas:#1) Respetar la intimidad de los demás.#2) Piensa antes de escribir.#3) Un gran poder conlleva una gran responsabilidad.[sudo] contraseña para arun:Recuperar http://repos.mesosphere.com/el/7/noarch/RPMS/mesosphere-el-repo-7-1.noarch.rpmadvertencia: /var/tmp/rpm-tmp.9ssCDQ: Cabecera V4 RSA/SHA1 Firma, clave ID e56151bf: NOKEYPreparación... ################################# [100%]Actualización de / instalación de...1:mesosfera-el-repo-7-1 ################################# [100%] - Instale Mesos y Marathon:
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120[arun@arun-centos ~]$ sudo yum -y instale mesos maratónCargado plugins: espejo rápido, langpacksbase | 3.6 kB 00:00extras | 3.4 kB 00:00mesosfera | 2.9 kB 00:00mesosfera-noarch | 2.9 kB 00:00actualiza | 3.4 kB 00:00(1/6): base/7/x86_64/grupo_gz | 155 kB 00:00(2/6): extras/7/x86_64/primary_db | 117 kB 00:00(3/6): mesosfera-noarch/primary_db | 2.5 kB 00:00(4/6): mesosfera/x86_64/primary_db | 27 kB 00:00(5/6): base/7/x86_64/primary_db | 5.3 MB 00:01(6/6): actualiza/7/x86_64/primary_db | 4.1 MB 00:02Determinación de el más rápido espejos* base: espejo.supremebytes.com* extras: centos.den.host-motor.com* actualiza: espejo.hmc.eduResolver Dependencias--> Ejecutar transacción consulte---> Paquete maratón.x86_64 0:1.1.1-1.0.472.el7 se sea instalado---> Paquete mesos.x86_64 0:0.28.1-2.0.20.centos701406 se sea instalado--> Tratamiento Dependencia: subversión para paquete: mesos-0.28.1-2.0.20.centos701406.x86_64--> Ejecutar transacción consulte---> Paquete subversión.x86_64 0:1.7.14-10.el7 se sea instalado--> Tratamiento Dependencia: subversión-libs(x86-64) = 1.7.14-10.el7 para paquete: subversión-1.7.14-10.el7.x86_64--> Tratamiento Dependencia: libsvn_wc-1.so.0()(64 bits) para paquete: subversión-1.7.14-10.el7.x86_64--> Tratamiento Dependencia: libsvn_subr-1.so.0()(64 bits) para paquete: subversión-1.7.14-10.el7.x86_64--> Tratamiento Dependencia: libsvn_repos-1.so.0()(64 bits) para paquete: subversión-1.7.14-10.el7.x86_64--> Tratamiento Dependencia: libsvn_ra_svn-1.so.0()(64 bits) para paquete: subversión-1.7.14-10.el7.x86_64--> Tratamiento Dependencia: libsvn_ra_neon-1.so.0()(64 bits) para paquete: subversión-1.7.14-10.el7.x86_64--> Tratamiento Dependencia: libsvn_ra_local-1.so.0()(64 bits) para paquete: subversión-1.7.14-10.el7.x86_64--> Tratamiento Dependencia: libsvn_ra-1.so.0()(64 bits) para paquete: subversión-1.7.14-10.el7.x86_64--> Tratamiento Dependencia: libsvn_fs_util-1.so.0()(64 bits) para paquete: subversión-1.7.14-10.el7.x86_64--> Tratamiento Dependencia: libsvn_fs_fs-1.so.0()(64 bits) para paquete: subversión-1.7.14-10.el7.x86_64--> Tratamiento Dependencia: libsvn_fs_base-1.so.0()(64 bits) para paquete: subversión-1.7.14-10.el7.x86_64--> Tratamiento Dependencia: libsvn_fs-1.so.0()(64 bits) para paquete: subversión-1.7.14-10.el7.x86_64--> Tratamiento Dependencia: libsvn_diff-1.so.0()(64 bits) para paquete: subversión-1.7.14-10.el7.x86_64--> Tratamiento Dependencia: libsvn_delta-1.so.0()(64 bits) para paquete: subversión-1.7.14-10.el7.x86_64--> Tratamiento Dependencia: libsvn_client-1.so.0()(64 bits) para paquete: subversión-1.7.14-10.el7.x86_64--> Tratamiento Dependencia: libaprutil-1.so.0()(64 bits) para paquete: subversión-1.7.14-10.el7.x86_64--> Tratamiento Dependencia: libapr-1.so.0()(64 bits) para paquete: subversión-1.7.14-10.el7.x86_64--> Ejecutar transacción consulte---> Paquete abr.x86_64 0:1.4.8-3.el7 se sea instalado---> Paquete abr-util.x86_64 0:1.5.2-6.el7 se sea instalado---> Paquete subversión-libs.x86_64 0:1.7.14-10.el7 se sea instalado--> Terminado Dependencia ResoluciónDependencias Resuelto================================================================================Paquete Arch Versión Repositorio Talla================================================================================Instalación de:maratón x86_64 1.1.1-1.0.472.el7 mesosfera 64 Mmesos x86_64 0.28.1-2.0.20.centos701406 mesosfera 30 MInstalación de para dependencias:abr x86_64 1.4.8-3.el7 base 103 kabr-util x86_64 1.5.2-6.el7 base 92 ksubversión x86_64 1.7.14-10.el7 base 1.0 Msubversión-libs x86_64 1.7.14-10.el7 base 921 kTransacción Resumen================================================================================Instale 2 Paquetes (+4 Dependiente paquetes)Total descargar talla: 96 MInstalado talla: 168 MDescargar paquetes:advertencia: /var/caché/yum/x86_64/7/base/paquetes/abr-1.4.8-3.el7.x86_64.rpm: Cabecera V3 RSA/SHA256 Firma, clave ID f4a80eb5: NOKEYPúblico clave para abr-1.4.8-3.el7.x86_64.rpm es no instalado(1/6): abr-1.4.8-3.el7.x86_64.rpm | 103 kB 00:00(2/6): abr-util-1.5.2-6.el7.x86_64.rpm | 92 kB 00:00(3/6): subversión-1.7.14-10.el7.x86_64.rpm | 1.0 MB 00:00(4/6): subversión-libs-1.7.14-10.el7.x86_64.rpm | 921 kB 00:00advertencia: /var/caché/yum/x86_64/7/mesosfera/paquetes/mesos-0.28.1-2.0.20.centos701406.x86_64.rpm: Cabecera V4 RSA/SHA1 Firma, clave ID e56151bf: NOKEYPúblico clave para mesos-0.28.1-2.0.20.centos701406.x86_64.rpm es no instalado(5/6): mesos-0.28.1-2.0.20.centos701406.x86_64.rpm | 30 MB 00:29(6/6): maratón-1.1.1-1.0.472.el7.x86_64.rpm | 64 MB 00:36--------------------------------------------------------------------------------Total 2.6 MB/s | 96 MB 00:36Recuperar clave de archivo:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7Importación de GPG clave 0xF4A80EB5:Usuario : "CentOS-7 Key (CentOS 7 Official Signing Key) "Huella dactilar: 6341 ab27 53d7 8a78 a7c2 7bb1 24c6 a8a7 f4a8 0eb5Paquete : centos-liberar-7-2.1511.el7.centos.2.10.x86_64 (@anaconda)En : /etc/pki/rpm-gpg/RPM-GPG-CLAVE-CentOS-7Recuperar clave de archivo:///etc/pki/rpm-gpg/RPM-GPG-KEY-mesosferaImportación de GPG clave 0xE56151BF:Usuario : "Archivo Mesosphere Clave de firma automática "Huella dactilar: 8102 6d00 04c4 4cf7 ef55 adf8 df7d 54cb e561 51bfPaquete : mesosfera-el-repo-7-1.noarch (instalado)En : /etc/pki/rpm-gpg/RPM-GPG-CLAVE-mesosferaEjecutar transacción consulteEjecutar transacción pruebaTransacción prueba sucedió aEjecutar transacciónInstalación de : abr-1.4.8-3.el7.x86_64 1/6Instalación de : abr-util-1.5.2-6.el7.x86_64 2/6Instalación de : subversión-libs-1.7.14-10.el7.x86_64 3/6Instalación de : subversión-1.7.14-10.el7.x86_64 4/6Instalación de : mesos-0.28.1-2.0.20.centos701406.x86_64 5/6Creado enlace simbólico de /etc/systemd/sistema/multi-usuario.objetivo.quiere/mesos-maestro.servicio a /usr/lib/systemd/sistema/mesos-maestro.servicio.Creado enlace simbólico de /etc/systemd/sistema/multi-usuario.objetivo.quiere/mesos-esclavo.servicio a /usr/lib/systemd/sistema/mesos-esclavo.servicio.Instalación de : maratón-1.1.1-1.0.472.el7.x86_64 6/6Creado enlace simbólico de /etc/systemd/sistema/multi-usuario.objetivo.quiere/maratón.servicio a /usr/lib/systemd/sistema/maratón.servicio.Verificación de : abr-1.4.8-3.el7.x86_64 1/6Verificación de : subversión-1.7.14-10.el7.x86_64 2/6Verificación de : abr-util-1.5.2-6.el7.x86_64 3/6Verificación de : mesos-0.28.1-2.0.20.centos701406.x86_64 4/6Verificación de : maratón-1.1.1-1.0.472.el7.x86_64 5/6Verificación de : subversión-libs-1.7.14-10.el7.x86_64 6/6Instalado:maratón.x86_64 0:1.1.1-1.0.472.el7 mesos.x86_64 0:0.28.1-2.0.20.centos701406Dependencia Instalado:abr.x86_64 0:1.4.8-3.el7 abr-util.x86_64 0:1.5.2-6.el7subversión.x86_64 0:1.7.14-10.el7 subversión-libs.x86_64 0:1.7.14-10.el7Complete! - Instala ZooKeeper:
12345678910111213141516171819202122232425262728293031323334353637383940[arun@arun-centos ~]$ sudo yum -y instale mesosfera-cuidador del zoo[sudo] contraseña para arun:Cargado plugins: espejo rápido, langpacksCargando espejo velocidades de en caché archivo de host* base: espejo.supremebytes.com* extras: centos.den.host-motor.com* actualiza: espejo.hmc.eduResolver Dependencias--> Ejecutar transacción consulte---> Paquete mesosfera-cuidador del zoo.x86_64 0:3.4.6-0.1.20141204175332.centos7 se sea instalado--> Terminado Dependencia ResoluciónDependencias Resuelto==================================================================================================Paquete Arch Versión Repositorio Talla==================================================================================================Instalación de:mesosfera-cuidador del zoo x86_64 3.4.6-0.1.20141204175332.centos7 mesosfera 2.8 MTransacción Resumen==================================================================================================Instale 1 PaqueteTotal descargar talla: 2.8 MInstalado talla: 3.5 MDescargar paquetes:mesosfera-cuidador del zoo-3.4.6-0.1.20141204175332.centos7.x86_64.rpm | 2.8 MB 00:00:01Ejecutar transacción consulteEjecutar transacción pruebaTransacción prueba sucedió aEjecutar transacciónInstalación de : mesosfera-cuidador del zoo-3.4.6-0.1.20141204175332.centos7.x86_64 1/1Creado enlace simbólico de /etc/systemd/sistema/multi-usuario.objetivo.quiere/cuidador del zoo.servicio a /usr/lib/systemd/sistema/cuidador del zoo.servicio.Verificación de : mesosfera-cuidador del zoo-3.4.6-0.1.20141204175332.centos7.x86_64 1/1Instalado:mesosfera-cuidador del zoo.x86_64 0:3.4.6-0.1.20141204175332.centos7Complete! - Añadir repositorio Docker:
123456789101112131415[arun@arun-centos ~]$ sudo te /etc/yum.repos.d/docker.repo <<-EOF[dockerrepo]nombre=Docker Repositoriodirección de base=https://yum.dockerproject.org/repo/main/centos/$releasever/habilitado=1gpgcheck=1gpgkey=https://yum.dockerproject.org/gpgEOF[sudo] contraseña para arun:[dockerrepo]nombre=Docker Repositoriodirección de base=https://yum.dockerproject.org/repo/main/centos/$releasever/habilitado=1gpgcheck=1gpgkey=https://yum.dockerproject.org/gpg - Instala Docker:
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061[arun@localhost ~]$ sudo yum -y instale docker-motorCargado plugins: espejo rápido, langpacksCargando espejo velocidades de en caché archivo de host* base: espejo.scalabledns.com* extras: linux.espejos.es.red* actualiza: espejos.adams.redResolver Dependencias--> Ejecutar transacción consulte---> Paquete docker-motor.x86_64 0:1.11.1-1.el7.centos se sea instalado--> Tratamiento Dependencia: docker-motor-selinux >= 1.11.1-1.el7.centos para paquete: docker-motor-1.11.1-1.el7.centos.x86_64--> Ejecutar transacción consulte---> Paquete docker-motor-selinux.noarch 0:1.11.1-1.el7.centos se sea instalado--> Terminado Dependencia ResoluciónDependencias Resuelto====================================================================================================Paquete Arch Versión Repositorio Talla====================================================================================================Instalación de:docker-motor x86_64 1.11.1-1.el7.centos dockerrepo 13 MInstalación de para dependencias:docker-motor-selinux noarch 1.11.1-1.el7.centos dockerrepo 28 kTransacción Resumen====================================================================================================Instale 1 Paquete (+1 Dependiente paquete)Total descargar talla: 13 MInstalado talla: 54 MDescargar paquetes:advertencia: /var/caché/yum/x86_64/7/dockerrepo/paquetes/docker-motor-selinux-1.11.1-1.el7.centos.noarch.rpm: Cabecera V4 RSA/SHA512 Firma, clave ID 2c52609d: NOKEYPúblico clave para docker-motor-selinux-1.11.1-1.el7.centos.noarch.rpm es no instalado(1/2): docker-motor-selinux-1.11.1-1.el7.centos.noarch.rpm | 28 kB 00:00:00(2/2): docker-motor-1.11.1-1.el7.centos.x86_64.rpm | 13 MB 00:00:02----------------------------------------------------------------------------------------------------Total 5.3 MB/s | 13 MB 00:00:02Recuperar clave de https://yum.dockerproject.org/gpgImportación de GPG clave 0x2C52609D:Usuario : "Docker Release Tool (releasedocker) "Huella dactilar: 5811 8e89 f3a9 1289 7c07 0adb f762 2157 2c52 609dEn : https://yum.dockerproject.org/gpgEjecutar transacción consulteEjecutar transacción pruebaTransacción prueba sucedió aEjecutar transacciónInstalación de : docker-motor-selinux-1.11.1-1.el7.centos.noarch 1/2restaurecon: lstat(/var/lib/docker) fallido: No tal archivo o directorioadvertencia: %Correo electrónico:(docker-motor-selinux-1.11.1-1.el7.centos.noarch) scriptlet fallido, salida estado 255No-fatal POSTIN scriptlet fallo en rpm paquete docker-motor-selinux-1.11.1-1.el7.centos.noarchInstalación de : docker-motor-1.11.1-1.el7.centos.x86_64 2/2Verificación de : docker-motor-1.11.1-1.el7.centos.x86_64 1/2Verificación de : docker-motor-selinux-1.11.1-1.el7.centos.noarch 2/2Instalado:docker-motor.x86_64 0:1.11.1-1.el7.centosDependencia Instalado:docker-motor-selinux.noarch 0:1.11.1-1.el7.centosComplete!
Configurar la asignación de nombre de host/dirección IP
Editar /etc/hosts y cree una correspondencia entre el nombre de host y la dirección IP. Encuentre la dirección IP usando ifconfig y elija la interfaz de red activada durante la instalación de CentOS.
Iniciar Servicios
Iniciar todos los servicios
- Inicie Docker:
12[arun@arun-centos ~]$ sudo servicio docker iniciarRedirigir a /papelera/systemctl iniciar docker.servicio - Inicia ZooKeeper:
1sudo systemctl iniciar cuidador del zoo - Iniciar maestro Mesos:
12[arun@arun-centos ~]$ sudo servicio mesos-maestro iniciarRedirigir a /papelera/systemctl iniciar mesos-maestro.servicio - Configure
mesosydockercontenedores:
1sudo sh -c "echo 'docker,mesos' > /etc/mesos-slave/containerizers" - Inicie el esclavo Mesos:
12[arun@arun-centos ~]$ sudo servicio mesos-esclavo iniciarRedirigir a /papelera/systemctl iniciar mesos-esclavo.servicio - Maratón de salida:
12[arun@arun-centos ~]$ sudo servicio maratón iniciarRedirigir a /papelera/systemctl iniciar maratón.servicio - Buscar servicios:Mesos UI: http://127.0.0.1:5050 Marathon UI: http://127.0.0.1:8080 Registros:
tail -f /var/log/messages
12345678910[arun@arun-centos registro]$ ps aux | grep mesoraíz 4511 0.1 0.7 3974136 58968 ? Ssl 19:54 0:04 java -Dzookeeper.registro.dir=. -Dzookeeper.raíz.registrador=INFO,CONSOLA -cp /op/mesosfera/cuidador del zoo/papelera/../construya/clases:/op/mesosfera/cuidador del zoo/papelera/../construya/lib/*.tarro:/op/mesosfera/cuidador del zoo/papelera/../lib/slf4j-log4j12-1.6.1.jar:/op/mesosfera/cuidador del zoo/papelera/../lib/slf4j-api-1.6.1.jar:/op/mesosfera/cuidador del zoo/papelera/../lib/red-3.7.0.Final.jar:/op/mesosfera/cuidador del zoo/papelera/../lib/log4j-1.2.16.jar:/op/mesosfera/cuidador del zoo/papelera/../lib/jline-0.9.94.jar:/op/mesosfera/cuidador del zoo/papelera/../cuidador del zoo-3.4.6.jar:/op/mesosfera/cuidador del zoo/papelera/../src/java/lib/*.tarro:/etc/cuidador del zoo/conf: -Dcom.sol.gestión.jmxremote -Dcom.sol.gestión.jmxremote.local.sólo=falso org.apache.cuidador del zoo.servidor.quórum.QuorumPeerMain /etc/cuidador del zoo/conf/zoo.cfgraíz 15786 0.0 0.2 754788 19596 ? Ssl 20:43 0:00 /usr/sbin/mesos-esclavo --maestro=zk://localhost:2181/mesos --log_dir=/var/log/mesosraíz 15792 0.0 0.0 107892 624 ? S 20:43 0:00 registrador -p usuario.información -t mesos-esclavo[15786]raíz 15793 0.0 0.0 107892 700 ? S 20:43 0:00 registrador -p usuario.err -t mesos-esclavo[15786]raíz 15837 1.9 3.0 2818056 239208 ? Ssl 20:43 0:10 java -Djava.biblioteca.ruta=/usr/local/lib:/usr/lib:/usr/lib64 -Djava.util.registro.SimpleFormatter.formato=%2$s%5$s%6$s%n -Xmx512m -cp /usr/papelera/maratón mesosfera.maratón.Principal --zk zk://localhost:2181/marathon --master zk://localhost:2181/mesosraíz 15838 0.0 0.2 829028 22908 ? Ssl 20:43 0:00 /usr/sbin/mesos-maestro --zk=zk://localhost:2181/mesos --port=5050 --log_dir=/var/log/mesos --quorum=1 --work_dir=/var/lib/mesosraíz 15863 0.0 0.0 107892 620 ? S 20:43 0:00 registrador -p usuario.información -t mesos-maestro[15838]raíz 15864 0.0 0.0 107892 696 ? S 20:43 0:00 registrador -p usuario.err -t mesos-maestro[15838]arun 16931 0.0 0.0 112644 952 pts/0 R+ 20:52 0:00 grep --color=auto meso - Comprueba el maestro Mesos:
12345678910111213141516171819202122[arun@arun-centos ~]$ systemctl estado mesos-maestro● mesos-maestro.servicio - Mesos MaestroCargado: cargado (/usr/lib/systemd/sistema/mesos-maestro.servicio; habilitado; vendedor preajustado: desactivado)Activo: activo (corriendo) desde Miércoles 2016-05-04 19:42:24 EDT; 32min hacePrincipal PID: 8499 (mesos-maestro)Memoria: 14.6MCGroup: /sistema.corte/mesos-maestro.servicio├─8499 /usr/sbin/mesos-maestro --zk=zk://localhost:2181/mesos --port=5050 --log_dir=/va...├─8513 registrador -p usuario.información -t mesos-maestro[8499]└─8514 registrador -p usuario.err -t mesos-maestro[8499]Mayo 04 20:14:41 arun-centos mesos-maestro[8514]: I0504 20:14:41.564679 8527 maestro.cpp:3104] Proc...Mayo 04 20:14:41 arun-centos mesos-maestro[8514]: I0504 20:14:41.565058 8527 maestro.hpp:177] Anuncio...os)Mayo 04 20:14:41 arun-centos mesos-maestro[8514]: I0504 20:14:41.565093 8527 maestro.cpp:3589] Laun...Mayo 04 20:14:41 arun-centos mesos-maestro[8514]: I0504 20:14:41.577255 8527 maestro.cpp:4763] Stat...Mayo 04 20:14:41 arun-centos mesos-maestro[8514]: I0504 20:14:41.577287 8527 maestro.cpp:4811] F...000Mayo 04 20:14:41 arun-centos mesos-maestro[8514]: I0504 20:14:41.577325 8527 maestro.cpp:6421] U...ED)Mayo 04 20:14:41 arun-centos mesos-maestro[8514]: I0504 20:14:41.587143 8527 maestro.cpp:3918] Proc...Mayo 04 20:14:41 arun-centos mesos-maestro[8514]: I0504 20:14:41.587198 8527 maestro.cpp:6487] Remo...Mayo 04 20:14:41 arun-centos mesos-maestro[8514]: I0504 20:14:41.726095 8527 maestro.cpp:5324] S...006Mayo 04 20:14:41 arun-centos mesos-maestro[8514]: I0504 20:14:41.728080 8527 maestro.cpp:3641] P...006Sugerencia: Algunos líneas eran elipsized, utilice -l a Mostrar en completo. - Comprueba el esclavo Mesos:
12345678910111213141516171819202122[arun@arun-centos ~]$ systemctl estado mesos-esclavo● mesos-esclavo.servicio - Mesos EsclavoCargado: cargado (/usr/lib/systemd/sistema/mesos-esclavo.servicio; habilitado; vendedor preajustado: desactivado)Activo: activo (corriendo) desde Miércoles 2016-05-04 20:00:43 EDT; 12min hacePrincipal PID: 9864 (mesos-esclavo)Memoria: 57.5MCGroup: /sistema.corte/mesos-esclavo.servicio├─9864 /usr/sbin/mesos-esclavo --maestro=zk://localhost:2181/mesos --log_dir=/var/log/mes...├─9876 registrador -p usuario.información -t mesos-esclavo[9864]└─9877 registrador -p usuario.err -t mesos-esclavo[9864]Mayo 04 20:13:26 arun-centos mesos-esclavo[9877]: I0504 20:13:26.283629 9887 status_update_manag...000Mayo 04 20:13:26 arun-centos mesos-esclavo[9877]: I0504 20:13:26.289118 9887 esclavo.cpp:3990] Cle...000Mayo 04 20:13:26 arun-centos mesos-esclavo[9877]: I0504 20:13:26.289422 9887 esclavo.cpp:4078] Cle...000Mayo 04 20:13:26 arun-centos mesos-esclavo[9877]: I0504 20:13:26.289459 9887 gc.cpp:55] Programación ...Mayo 04 20:13:26 arun-centos mesos-esclavo[9877]: I0504 20:13:26.289489 9887 gc.cpp:55] Programación...ureMayo 04 20:13:26 arun-centos mesos-esclavo[9877]: I0504 20:13:26.289499 9887 gc.cpp:55] Programación ...Mayo 04 20:13:26 arun-centos mesos-esclavo[9877]: I0504 20:13:26.289511 9887 gc.cpp:55] Programación...ureMayo 04 20:13:26 arun-centos mesos-esclavo[9877]: I0504 20:13:26.289520 9887 gc.cpp:55] Programación...ureMayo 04 20:13:26 arun-centos mesos-esclavo[9877]: I0504 20:13:26.289525 9887 gc.cpp:55] Programación...ureMayo 04 20:13:26 arun-centos mesos-esclavo[9877]: I0504 20:13:26.289533 9887 status_update_manag...000Sugerencia: Algunos líneas eran elipsized, utilice -l a Mostrar en completo. - Comprueba ZooKeeper:
12345678910111213[arun@arun-centos registro]$ /op/mesosfera/cuidador del zoo/papelera/zkCli.shConexión a localhost:2181log4j:AVISO No anexos podría sea encontrado para registrador (org.apache.cuidador del zoo.ZooKeeper).log4j:AVISO Por favor, inicializar el log4j sistema correctamente.log4j:AVISO Véase http://logging.apache.org/log4j/1.2/faq.html#noconfig para más información.Bienvenido a ZooKeeper!JLine soporte es habilitadoVIGILANTE::WatchedEvent estado:SyncConnected tipo:Ninguno ruta:null[zk: localhost:2181(CONECTADO) 0] ls /mesos[json.info_0000000001, log_replicas]
Despliegue de aplicaciones Docker en Mesos
A aplicación sencilla basada en Docker se define mediante el archivo de configuración. Maratón se ejecuta en el puerto 8080 y por lo tanto la configuración actualizada
tiene el siguiente aspecto:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
{ "id": "básico-3", "cmd": "python3 -m http.server $PORT0", "cpus": 0.5, "mem": 32.0, "contenedor": { "tipo": "DOCKER", "docker": { "imagen": "python:3", "forcePullImage": verdadero, "red": "PUENTE", "portMappings": [ { "containerPort": 0, "hostPort": 0 } ] } } } |
Despliega la aplicación como:
|
1 |
rizo -X POST http://127.0.0.1:8080/v2/apps -d @app.json -H "Content-type: application/json" |
La aplicación tardará algún tiempo en descargar la imagen y luego ejecutar el contenedor. Esta configuración es ligeramente sensible y múltiples ejecuciones de la aplicación mostraron que la imagen Docker no se descargó correctamente todas las veces.
En ese caso, la imagen Docker se descargó manualmente utilizando docker pull python:3 y entonces la aplicación podría desplegarse con éxito.
En nuestro caso, maestro y esclavo se están ejecutando en la misma máquina, por lo que la lista de imágenes Docker y contenedores en ejecución se puede ver fácilmente:
|
1 2 3 4 5 6 |
[arun@localhost ~]$ sudo docker imágenes REPOSITORIO TAG IMAGEN ID CREADO TALLA python 3 67b5207e5d3b 8 días hace 671.1 MB [arun@localhost ~]$ sudo docker ps CONTENEDOR ID IMAGEN COMANDO CREADO ESTADO PUERTOS NOMBRES 2ee42b120537 python:3 "/bin/sh -c 'python3 " Acerca de un hora hace Arriba Acerca de un hora 0.0.0.0:31669->31669/tcp mesos-d03f6e61-063f-4cae-9c1b-3fc6d8384b3a-S0.b99d82f6-9bc1-4a6f-ae3b-53b7f5d06b95 |
La aplicación está disponible en el puerto 31669 y puede verse en http://127.0.0.1:31669 como:

Interfaz de usuario de Mesos (http://127.0.0.1:5050):

Marathon UI (http://127.0.0.1:8080):

En
Como puede ver, se trata de una configuración bastante complicada. En una futura entrada del blog se mostrará cómo utilizar DC/OS y configurar esto de forma más fluida.
Lecturas complementarias ...
Canal Slack de Mesos ¡es impresionante! Particularmente aprendí mucho sobre Mesos de @jgarcia.mesosphere, @akaplan.mesosphere, @harpreet.mesosphere, @graham.mesosphere. Gracias chicos, ¡seguid colaborando con la comunidad!
¡Que aproveche!