Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

636
Views
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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!