Como instalar e configurar o cluster MySQL para Windows?
Aplica-se a:
Sistema
operacional Windows de 64 bits
Autor:
Carthik Annayan
Problema:
Como faço para instalar e configurar o cluster MySQL para Windows?
Solução:
Como implementar um cluster MySQL? Discutiremos as etapas para implementar o cluster MySQL agora. Em um ambiente típico de HA para um cluster MySQL, precisamos de pelo menos 6 servidores para criar HA em cada camada do cluster MySQL. A melhor parte de implantar um cluster MySQL é que é fácil e não requer muitos pré-requisitos. Tudo o que você precisa é de alguns servidores, do sistema operacional e de alguns switches.
Os nós são nomeados da seguinte forma:-
Nós de servidor:- Servernode1.example.com 192.168.0.10 Servernode2.example.com nós
de dados 192.168.0.20
:- Datanode1.example.com 192.168.0.30 Datanode2.example.com 192.168.0.40
Nós de servidor de gerenciamento:- Mgmntnode1.example.com 192.168.0.50, Mgmntnode2.example.com 192.168.0.60
Pré-requisitos de rede:-
- Dedicado >= sistema de rede de 1 GB/s
- Evitar falhas de rede (NIC x 2, vinculação)
- Usar rede dedicada para comunicação com clusters
- Nenhuma camada de segurança para o nó de gerenciamento (desligamento remoto permitido...)
- Habilitar acesso à porta 1186 somente de nós e administradores do cluster
Camada de armazenamento (nós de dados):-
- Um nó de dados pode usar 8 núcleos
- CPU: 2 x 4 núcleos
- RAM: Por mais que você precise, um conjunto de dados de 10 GB exigirá 20 GB de RAM (por causa da redundância)
- Cada nó precisará então de 2 nós de dados 10/#of. (2 nós de dados →10 GB de RAM → 16 GB de RAM é bom)
- Espaço em disco: 10xDataMemory + espaço para BACKUP + TableSpace (se tabelas de dados de disco)
Camada SQL (Servidores MySQL):-
- CPU: 2 a 16 núcleos
- RAM: Não tão importante - 4GB suficiente (depende de conexões e buffers)
O nó Mgmntnode2 é opcional. Também é importante fornecer HA no nó de gerenciamento, já que o nó de gerenciamento é o console central a partir do qual todos os nós de dados e nós de servidor são gerenciados. No entanto, para esta implementação, consideraremos apenas um nó de gerenciamento e a implementação do MySQL Cluster 7.2.
Quando os servidores estiverem prontos, a primeira etapa é fazer download do MySQL Cluster Bundle do seguinte local (
http://www.mysql.com/downloads/cluster ). Faça download do pacote mais adequado às suas necessidades. O formato msi ou zip. Para esta implementação utilizei o formato zip. O status de suporte do cluster do MySQL (SO, arquitetura) está disponível no
Matriz de suporte do MySQL. A próxima etapa é descompactar o conteúdo baixado.
Extraia o conteúdo do arquivo zip para "c:\mysql\cluster" nos nós do servidor. Execute esta etapa em cada um dos nós ou faça download do arquivo zip em um nó e copie o conteúdo para os outros nós.
Para obter acesso aos executáveis na linha de comando, adicione "c:\mysql\cluster\bin" à variável de ambiente PATH.
Agora crie o arquivo config.ini no nó de gerenciamento (192.168.0.50), na seguinte pasta "c:\mysql\cluster".
Exemplo
config.ini arquivo
config.ini
[ndbd default]
noofreplicas=2
DataDir=c:/mysql/bin/cluster-data # Directory para os arquivos
de cada nó de dados: DataMemory=80M
IndexMemory=18M
[ndb_mgmd]
hostname=192.168.0.50
, NodeId = 1
DataDir=c:/mysql/bin/cluster-logs #Directory dos arquivos
de log do nó de gerenciamento [ndbd] # Data Node1 hostname=192.168.0.30
NodeId=2
[ndbd] # Data Node2
hostname=192.168.0.40
NodeId=3
[mysqld] # Server Node1
hostname= 192.168.0.10
NodeId=101
[mysqld] # Server Node2
hostname=192.168.0.20
NodeId=102
O arquivo My.ïni de cada nó de dados tem informações apenas sobre a string de conexão, que é o endereço IP do nó de gerenciamento. O arquivo my.cnf está localizado em "c:\mysql\my.ini"
my.ini (Data Node1)
[mysql_cluster]
Ndb-connectstring=192.168.16.50
Coloque o mesmo conteúdo no DataNode2 também.
Finalmente, o conteúdo my.ini do nó do servidor MySQL localizado em "c:\mysql\my.ini" do ServerNode.
[MySQLD]
Ndb-nodeid=101 Ndbcluster
Ndb-connectstring=192.168.16.50:1186 # Localização da porta do servidor
de gerenciamento=3306
Default-storage-engine=ndbcluster
Depois que os arquivos de configuração estiverem em vigor, os nós devem ser iniciados na seguinte ordem: o nó de gerenciamento, os nós de dados e o nó do SQL Server.
Os comandos para executar cada uma das opções a seguir são exibidos abaixo.
Nó de gerenciamento (192.168.0.50):-
ndb_mgmd -f /var/lib/mysql-cluster/config.ini --configdir=/var/lib/mysql-cluster/ --inicial
Nós de dados(192.168.0.30, 192.168.0.40):-
NDBD -C <Endereço IP> do nó de gerenciamento:1186 –inicial
Esse comando deve ser emitido em cada um dos nós de dados.
Nó do SQL Server (192.168.0.10 , 192.168.0.20):-
C:\mysql\bin> mysqld –console
Esse comando deve ser emitido em cada um dos nós do servidor MySQL.
Por fim, para verificar se o cluster está ativo e em execução, execute o comando abaixo na linha de comando do servidor de gerenciamento. O executável ndb_mgmd está presente no diretório para "c:\mysql\bin"
ndb_mgmd > show