Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

633
Vistas
Creación de un clúster MySQL, utilizando contenedores docker mysql-server, en varios servidores

Estoy tratando de crear un clúster MySQL de 3 nodos usando contenedores acoplables mysql-server .

Tengo 3 instancias de nube separadas y la ventana acoplable está configurada en las 3. Cada servidor tendrá solo 1 contenedor ejecutándose en él , para lograr una alta disponibilidad cuando esté en un clúster.

Comienzo los contenedores en los 3 servidores, individualmente, con el comando

 docker run --name=db -p 3301:3306 -v db:/var/lib/mysql -d mysql/mysql-server

Estoy asignando el puerto 3306 del contenedor al puerto 3301 de mi servidor . También he creado un nuevo usuario 'clusteradmin' para acceso remoto.

Luego, desde mysql-shell, ejecuté el siguiente comando: para los 3 servidores

 dba.configureInstance('clusteradmin@serverIp:3301')

Recibo un mensaje similar para todos- ingrese la descripción de la imagen aquí

Tenga en cuenta que dice 'Esta instancia informa su propia dirección como 39xxxxxxxxxx: 3306'.

A continuación, creo un clúster en uno de los servidores con éxito. Pero, al agregar los otros 2 servidores a este clúster, recibo el siguiente error

ingrese la descripción de la imagen aquí

Al revisar los registros de ese servidor en particular, veo las siguientes líneas

ingrese la descripción de la imagen aquí

Dice 'la dirección del par a9yyyyyyyyyy:33061 no es válida'. Esto se debe a que, dado que los contenedores se ejecutan en diferentes servidores, otros contenedores en otro servidor no reconocen el ID del contenedor.

Probé muchas opciones pero fue en vano. Un método era usar las opciones de host de informe y puerto de informe al iniciar el contenedor, así

 docker run --name=db2 -p 3301:3306 -v db2:/var/lib/mysql -d mysql/mysql-server --report-host=139.59.11.215 --report-port=3301

Pero, el problema con este enfoque es que, durante dba.configureInstance(), quiere actualizar el puerto al valor predeterminado y arroja un error como ese

ingrese la descripción de la imagen aquí

Cualquiera que haya logrado crear un grupo de contenedores mysql-server que se ejecutan en diferentes servidores, realmente agradecería sugerencias al respecto.

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Revisé la documentación y el código fuente, pero no encontré una explicación de por qué es problemático escuchar y anunciar diferentes puertos.

Resolví el problema usando --port 3301 al invocar mysql-server:

 docker run --name=db2 -p 3301:3301 -v db2:/var/lib/mysql -d mysql/mysql-server --report-host=139.59.11.215 --port 3301
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda