Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Implantando e gerenciando o MySQL NDB Cluster com ClusterControl


No ClusterControl 1.5 adicionamos um suporte para o MySQL NDB Cluster 7.5. Nesta postagem do blog, veremos alguns dos recursos que tornam o ClusterControl uma ótima ferramenta para gerenciar o MySQL NDB Cluster. Em primeiro lugar, como existem vários produtos com “Cluster” em seu nome, gostaríamos de dizer algumas palavras sobre o MySQL NDB Cluster em si e como ele se diferencia de outras soluções.

Cluster NDB MySQL


MySQL NDB Cluster é um cluster síncrono sem compartilhamento para MySQL, baseado no mecanismo NDB. É um produto com uma lista própria de funcionalidades, bem diferente do Galera Cluster ou MySQL InnoDB Cluster. Uma diferença principal é o uso do mecanismo NDB, não do InnoDB, que é o mecanismo padrão do MySQL. No cluster NDB, os dados são particionados em vários nós de dados, enquanto o Galera Cluster ou o MySQL InnoDB Cluster contêm o conjunto completo de dados em cada um dos nós. Isso tem sérias repercussões na maneira como o MySQL NDB Cluster lida com consultas que usam JOINs e grandes partes do conjunto de dados.

Quando se trata de arquitetura, o MySQL NDB Cluster consiste em três tipos de nós diferentes. Os nós de dados armazenam os dados usando o mecanismo NDB. Os dados são espelhados para redundância, com até 4 réplicas de dados. Observe que o ClusterControl implantará 2 réplicas por grupo de nós, pois essa é a configuração mais testada e estável. Os nós de gerenciamento destinam-se a controlar o cluster - por motivos de alta disponibilidade, normalmente, você tem dois desses nós. Os nós SQL são usados ​​como pontos de entrada para o cluster. Eles analisam o SQL, solicitam dados dos nós de dados e agregam conjuntos de resultados quando necessário.

Recursos de ClusterControl para MySQL NDB Cluster

Implantação


O ClusterControl 1.5 suporta a implantação do MySQL NDB Cluster 7.5. Isso é feito por meio do mesmo assistente de implantação, como nos outros tipos de cluster.

Na primeira etapa, você precisa configurar como o ClusterControl pode fazer login via SSH para os hosts - este é um requisito padrão para o ClusterControl - é sem agente, portanto, requer acesso SSH root diretamente, à conta root ou via (senha ou senha) sudo.

Na próxima etapa, você define os nós de gerenciamento para seu cluster.

Aqui, você precisa decidir quantos nós de dados você gostaria de ter. Como afirmamos anteriormente, a cada 2 nós farão parte de um grupo de nós, portanto, este deve ser um número par.

Por fim, você precisa decidir quantos nós SQL deseja implantar em seu cluster. Assim que você clicar em deploy, o ClusterControl se conectará aos hosts, instalará o software e configurará todos os serviços. Depois de um tempo, você deverá ver seu cluster implantado.

Escalonamento do cluster NDB MySQL


Para MySQL NDB Cluster, o ClusterControl 1.5.0 suporta dimensionamento de nós SQL. Você pode acessar o trabalho na lista suspensa Trabalhos de cluster.

Lá você pode preencher o nome do host do nó que deseja adicionar e isso é tudo que você precisa - ClusterControl cuidará do resto.

Gerenciamento do cluster NDB MySQL


ClusterControl ajuda você a gerenciar MySQL NDB Cluster. Nesta seção, gostaríamos de passar por alguns dos recursos de gerenciamento que temos.

Backups


Os backups são cruciais para qualquer ambiente de produção. Em caso de desastre, apenas um bom backup pode minimizar a perda de dados e ajudá-lo a se recuperar rapidamente do problema. A replicação pode nem sempre ser uma solução que funcione - DROP TABLE descartará a tabela em todos os hosts na topologia. Mesmo um escravo atrasado pode atrasar o inevitável apenas até certo ponto.

ClusterControl suporta backup ndb para MySQL NDB Cluster.

Você pode criar facilmente um agendamento de backup para ser executado pelo ClusterControl.

Camada proxy


O ClusterControl permite que você implante uma pilha completa de alta disponibilidade sobre o MySQL NDB Cluster. Para a camada de proxy, oferecemos suporte à implantação de HAProxy e MaxScale.

Conforme mostrado na captura de tela acima, a implantação é muito semelhante aos outros tipos de cluster. Você precisa decidir se deseja usar um HAProxy existente ou implementar um novo. Então você precisa escolher como instalá-lo - usando pacotes de repositórios disponíveis no nó ou compilá-lo a partir do código-fonte da versão mais recente.

Se você decidir usar o HAProxy, terá a possibilidade de configurar a alta disponibilidade usando Keepalived e Virtual IP.

O processo é o seguinte - você define um IP virtual e a interface na qual ele deve ser criado. Em seguida, você pode implementá-lo para cada HAProxy que instalou. Um dos processos Keepalived será determinado como “mestre” e habilitará o VIP em seu nó. Seu aplicativo se conecta a esse IP específico. Quando um HAProxy ativo atual não estiver disponível, o VIP será movido para outro HAProxy disponível, restaurando a conectividade.

Gerenciamento de recuperação


Embora o MySQL NDB Cluster possa tolerar falhas de nós individuais, é importante reagir prontamente a elas. O ClusterControl fornece recuperação automatizada para todos os componentes do cluster. Não importa o que falhe (nó de gerenciamento, nó de dados ou nó SQL), o ClusterControl irá reiniciá-los automaticamente.

Monitoramento do cluster NDB MySQL


Qualquer ambiente pronto para produção deve ser monitorado. O ClusterControl fornece uma variedade de métricas para monitorar. Na página "Visão geral", mostramos gráficos com base nas métricas mais importantes para seu cluster. Você também pode criar seus próprios painéis, mostrando dados adicionais que seriam úteis em seu ambiente.

Além dos gráficos, a página “Visão geral” fornece informações sobre o estado do cluster com base em algumas métricas do MySQL NDB Cluster, como memória de índice usada, memória de dados e estado de alguns buffers.

Ele também fornece monitoramento das métricas do host, incluindo utilização de CPU, RAM, estatísticas de disco ou rede. Esses gráficos também são cruciais na construção de uma visão da integridade do cluster.

O ClusterControl também pode ajudá-lo a melhorar o desempenho de seus bancos de dados, fornecendo acesso ao Query Monitor, que contém estatísticas sobre seu tráfego.

Como visto na captura de tela acima, você pode ver que tipo de consultas estão sendo executadas em seu cluster, quantas consultas de um determinado tipo, quais são seus tempos de execução e os tempos totais de execução. Isso ajuda a identificar quais consultas são lentas e quais delas são responsáveis ​​pela maior parte do tráfego. Você pode então se concentrar nas consultas que podem fornecer a maior melhoria de desempenho.