Servidor Couchbase

Cluster Couchbase en Docker Swarm usando Docker Compose y Docker Machine

Esta entrada del blog explicará cómo crear y escalar un clúster Couchbase utilizando la armadura completa de Docker - Docker Machine, Docker Swarm y Docker Compose. Esto es lo que haremos:

  • Crear un clúster Docker Swarm de 3 nodos utilizando Docker Machine
  • Ejecutar una instancia de Couchbase en dos nodos
  • Crear un clúster
  • Reequilibrar el clúster
  • Escalar y reequilibrar de nuevo el clúster

 couchbase-docker-swarm-0-1024x558

Clúster Docker Swarm usando Consul

Cree un clúster Docker Swarm de tres nodos utilizando Docker Machine:

Aprovisionar un clúster Swarm con Docker Machine proporcionan más detalles sobre por qué y qué se hace en este script. He aquí un resumen:

  • Crear una máquina Docker y ejecutar Consul para el descubrimiento de servicios
  • Cree tres máquinas Docker: una para el nodo maestro y dos para los nodos de trabajo. Cada máquina se configura para formar parte de un clúster Swarm utilizando --swarm. También utiliza el descubrimiento de servicios Consul especificado mediante --swarm-discovery.

Nodos Couchbase en Docker Swarm

Crea dos instancias de Couchbase usando Docker Compose:

arungupta/couchbase se utiliza aquí. Esta imagen se define en Imagen Docker de Couchbase. Utiliza el Imagen Docker oficial de Couchbase añada
lo configura como se ha explicado:

  1. Configura la memoria para índice y datos
  2. Configura el servidor Couchbase con el servicio de índices, datos y consultas.
  3. Establece las credenciales de nombre de usuario y contraseña
  4. Carga el viaje-muestra cubo

El archivo Compose utiliza host red. Esto equivale a utilizar --net=host en docker run CLI. Permite que el contenedor utilice la pila de red del host. También limita la ejecución de un único contenedor Couchbase en
una sola máquina Docker. Esto significa que nuestro cluster Couchbase puede escalar basado en el número de máquinas Docker - 3 en nuestro caso. El comando exacto para usar este archivo Compose es:

Hay tres nodos en el clúster Docker Swarm. El estrategia de programación por defecto es difundir por lo que los contenedores estarán repartidos en diferentes hosts. Esto es evidente
por docker ps:

Tenga en cuenta que un servidor Couchbase se ejecuta en nodo-enjambre-01 y otro en enjambre-nodo-02. Cada servidor está configurado con un nombre de usuario de administrador Administrador y contraseña contraseña. Descubra IP
dirección de la máquina Docker:

Si tiene jq instalado entonces la dirección IP se puede encontrar convenientemente como:

Clúster Couchbase en Docker Swarm

Todos los nodos del servidor Couchbase son iguales. Esto permite al cluster de Couchbase escalar horizontalmente para satisfacer las crecientes demandas de tu aplicación. Se pueden añadir nodos Couchbase independientes a un cluster invocando el comando servidor-add comando CLI. Normalmente, este proceso consta de dos pasos. El primer paso es añadir uno o más nodos. El segundo paso reequilibra el cluster donde los datos en los nodos existentes se reequilibran a través del cluster actualizado. En nuestro caso, un único Couchbase
se está ejecutando en cada máquina Docker. Vamos a elegir la dirección IP de cualquier nodo Couchbase, y añadir la dirección IP del otro nodo:

Couchbase Web Console para ambos nodos mostrará una salida similar:
couchbase-docker-swarm-1
couchbase-docker-swarm-2
Esto muestra que los dos nodos forman ahora un cluster, y necesita ser reequilibrado.

Reequilibrio del clúster Couchbase

Ahora, vamos a reequilibrar el clúster:

Couchbase Web Console se actualizará para mostrar que el reequilibrio está ocurriendo:
couchbase-docker-swarm-3
Y finalmente verás un clúster reequilibrado:

couchbase-docker-swarm-4

Escalar y reequilibrar el clúster Couchbase

Escalar el clúster Couchbase:

Compruebe que el contenedor se está ejecutando en una máquina Docker diferente:

Como se mencionó anteriormente, escalar un cluster de Couchbase es un proceso de dos pasos. Esto es así porque normalmente añadirás múltiples servidores y luego reequilibrarás el cluster. Sin embargo, en casos donde solo necesitas añadir un solo nodo Couchbase y luego rebalancear,
se puede utilizar el comando de reequilibrio para conseguirlo. En nuestro caso, esto se hace como se muestra:

El clúster reequilibrado tiene ahora este aspecto:
couchbase-docker-swarm-5

Este blog muestra cómo se puede crear y escalar fácilmente un clúster Couchbase utilizando Docker Swarm, Machine y Compose. ¡Que lo disfrutes! Lectura adicional ...

Comparte este artículo
Recibe actualizaciones del blog de Couchbase en tu bandeja de entrada
Este campo es obligatorio.

Autor

Publicado por Arun Gupta, Vicepresidente, Defensa del Desarrollador, Couchbase

Arun Gupta es vicepresidente de promoción de desarrolladores en Couchbase. Ha creado y dirigido comunidades de desarrolladores durante más de 10 años en Sun, Oracle y Red Hat. Tiene una gran experiencia en liderar equipos multidisciplinares para desarrollar y ejecutar estrategias, planificar y ejecutar contenidos, campañas de marketing y programas. Anteriormente dirigió equipos de ingeniería en Sun y es miembro fundador del equipo Java EE. Gupta es autor de más de 2.000 entradas de blog sobre tecnología. Tiene una amplia experiencia como conferenciante en más de 40 países sobre innumerables temas y es una JavaOne Rock Star desde hace tres años consecutivos. Gupta también fundó el capítulo Devoxx4Kids en Estados Unidos y sigue promoviendo la educación tecnológica entre los niños. Autor de varios libros sobre tecnología, ávido corredor, trotamundos, campeón de Java, líder de JUG, miembro del Dream Team de NetBeans y capitán de Docker, es fácilmente accesible en @arungupta.

Deja un comentario

¿Listo para empezar con Couchbase Capella?

Empezar a construir

Consulte nuestro portal para desarrolladores para explorar NoSQL, buscar recursos y empezar con tutoriales.

Utilizar Capella gratis

Ponte manos a la obra con Couchbase en unos pocos clics. Capella DBaaS es la forma más fácil y rápida de empezar.

Póngase en contacto

¿Quieres saber más sobre las ofertas de Couchbase? Permítanos ayudarle.