Cluster MySQL - Instalação e configuração

Nesse artigo aprenderemos como configurar um cluster MySQL com três nós, um nó de gerenciamento e dois nós de armazenamento.

[ Hits: 55.885 ]

Por: André Costa em 25/10/2010


2° passo - Configuração dos servidores de armazenamento (NDBD) node 1 e node 2



Primeiramente instalar os seguintes pacotes através do YUM:

# yum install perl-HTML*
# yum install perl-DBD-MySQL


Instalar pacotes:

# rpm -ivh MySQL-shared-5.0.90-1.glibc23
# rpm -ivh MySQL-client-5.0.90-1.glibc23
# rpm -ivh MySQL-ndb-tools-5.0.90-1.glibc23
# rpm -ivh MySQL-server-5.0.90-1.glibc23
# rpm -ivh MySQL-ndb-storage-5.0.90-1.glibc23


Cada nó dos servidores de armazenamento requer um arquivo my.cnf:

# vi /etc/my.cnf

[client]
socket=/var/lib/mysql/mysql.sock
[mysqld]
ndbcluster
#IP do Servidor de Gerenciamento(MGM)
ndb-connectstring=172.16.3.241
default-storage-engine=NDBCLUSTER
[mysql_cluster]
#IP do Servidor de Gerenciamento(MGM)
ndb-connectstring=172.16.3.241

Agora inicie o processo "ndbd" em cada nó "BD2" e "BD3":

# ndbd --initial
ou
# ndbd

Nota: Deverá usar "initial" se existir alguma alteração na configuração do config.ini no servidor de gerenciamento.

Em seguida, iniciar o servidor MySQL:

# service mysql start

Página anterior     Próxima página

Páginas do artigo
   1. Introdução
   2. 2° passo - Configuração dos servidores de armazenamento (NDBD) node 1 e node 2
   3. Como desligar e reiniciar o cluster
Outros artigos deste autor

Servidor de e-mail Postfix + MySQL + Dovecot + Cyrus

Webmail Squirrelmail e Roundcubemail, Clamav e SpamAssassin integrados no MTA Postfix

Leitura recomendada

MySQL Workbench no Slackware 14.0

Sincronização segura entre bancos de dados MySQL utilizando SJA

MariaDB + phpMyAdmin no Ubuntu 12.04 LTS

Gerenciando banco de dados com MySQL (parte 2)

Amarok: migrando de SQLite para MySQL

  
Comentários
[1] Comentário enviado por fs.schmidt em 26/10/2010 - 12:15h

Parabéns, exclente solução e artigo !

[2] Comentário enviado por removido em 26/10/2010 - 14:30h

Muito Bom seu artigo...

Mas tenho uma dúvida? O acesso ao banco se dará pelo servidor de Gerenciamento?

E se o servidor de Gerenciamento falhar, estiver down, como fica o acesso das aplicações que estão usando este acesso?

Mais uma vez parabéns...

Bruno Lima®

[3] Comentário enviado por andrecostall em 26/10/2010 - 16:28h

Opa, muito obrigado Bruno !!!

As aplicações podem se conectar tanto no servidor 172.16.3.242 (BD2) como no servidor 172.16.3.243 (BD3). Mas se eles tentarem se conectar ao servidor que possui as ferramentas administrativas 172.16.3.241 (BD2) eles não conseguiram se conectar, ele somente faz o gerenciamento do Cluster.
Caso um nó do cluster não esteja "up" isso não será um problema para a aplicação, uma vez que os outros nós funcionaram de forma independente. Quando um nó estiver "down" e quando subir o serviço NDBD ele irá procurar as informações perdidas e tentará sincronizar os dados.

Há, tem uma ferramenta chamada "MySQLProxy" esse serviço faz o balanceamento de carga, você pode instalar no Servidor de Gerenciamento, ai as aplicações podem se conectar apenas no Servidor de Gerenciamento, com esse serviço você terá uma solução completa de balanceamento de carga, tolerância a falhas e replicação dos dados por meio do cluster.

Bom cara é isso, espero ter tirado sua dúvida.

Qualquer coisa me add no msn andreclsilva@hotmail.com.

Abraços

[4] Comentário enviado por snails em 14/11/2010 - 17:51h

Bom artigo....

To pensando já aonde posso aplica essa solução..rsrsrsrs...

Referente a pergunta do bjnl eu entendi a duvida.....alias...como vão gerenciar os nodos, se o gerenciador estiver off.....

Bem, pelo que parece, o gerenciador que faz o sync dos bancos..... então caso ele esteja off, vc apenas perde o sync dos bancos de dados....
Uma solução robusta e phoderosa para usar com esse sistema seria o heartbeat com sync de sistemas. Foi postado um tuto sobre ele aqui no VOL....

Poderia ser feito um heartbeat do gerenciador com o MysqlProxy e alguns nodos do cluster..isso tbm garantiria 99,9% de osciosidade nos seus sstemas DB.

Vai ae a dica !!!

Flw

[5] Comentário enviado por wasleyalmeida em 03/05/2013 - 09:02h

Bom dia amigo,

Desculpe minha ignorância, consigo utilizar essa tecnologia possuindo apenas dois servidores, ou seja

Servidor 1: rodaria o NDBD (node 1) e rodaria tb o MGM
Servidor 2: rodaria o NDBD (node 2) e receberia as replicações do node 2.

Deseja agradeço


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts