Como configurar Redis para alta disponibilidade com o Sentinel no CentOS 8 - Parte 2
- 4419
- 591
- Robert Wunsch DVM
Redis fornece alta disponibilidade via Redis Sentinel sistema distribuído. Sentinela ajuda a monitorar Redis Instâncias, detectar falhas e fará com que as funções sejam alternadas, permitindo assim, permitindo um Redis implantação para resistir a qualquer tipo de falha.
Possui monitoramento de Redis Instâncias (mestre e réplicas), suporta a notificação de outros serviços/processos ou o administrador do sistema por meio de um script, failover automático para promover uma réplica para um mestre quando o mestre desce e fornece configuração para os clientes descobrirem o mestre atual que oferece um serviço específico.
Este artigo demonstra como configurar Redis Para alta disponibilidade com Redis Sentinel em CENTOS 8, incluindo a configuração dos sentinels, verificando o status de configuração e testando um Sentinela failover.
Pré -requisito:
- Como configurar a replicação Redis (com o modo de cluster desativado) no CentOS 8 - Parte 1
Configuração do ambiente de teste
Servidor mestre e sentinel11: 10.42.0.247 REPLICA REDIS1 E SENTINEL2: 10.42.0.21 REPLICA REDIS e Sentinel3: 10.42.0.34Diagrama lógico de configuração do Redis Sentinel
De acordo com Redis Sentinel Documentação, é preciso pelo menos três Sentinela Instâncias para uma implantação robusta. Considerando a nossa configuração acima, se o mestre falha, Sentinels2 e Sentinel3 concordará com o fracasso e poderá autorizar um failover, tornando as operações do cliente capazes de continuar.
Etapa 1: Iniciar e ativar o serviço Redis Sentinel
1. Sobre CENTOS 8, o Redis Sentinel O serviço está instalado ao lado do Redis Servidor (que já fizemos na configuração de replicação Redis).
Para começar o Redis Serviço Sentinel e permite que ele inicie automaticamente na inicialização do sistema, use o seguinte SystemCtl comandos. Além disso, confirme que está em funcionamento verificando seu status (Faça isso em todos os nós):
# SystemCtl Start Redis-Sentinel # SystemCtl Ativar Redis-Sentinel # Systemctl Status Redis-SentinelInicie o serviço Redis Sentinel
Etapa 2: Configurando o Redis Sentinel em todos os nós Redis
2. Nesta seção, explicamos como configurar Sentinela Em todos os nossos nós. O Sentinela o serviço tem um formato de configuração semelhante ao Redis servidor. Para configurá -lo, use o /etc/Redis-Sentinel.conf arquivo de configuração autocumentado.
Primeiro, crie um backup do arquivo original e abra -o para edição.
# cp /etc /redis-sentinel.conf /etc /redis-sentinel.conf.orig # vi /etc /redis-sentinel.conf
3. Por padrão, Sentinel escuta na porta 26379, Verifique isso em todas as instâncias. Observe que você tem que deixar o vincular Parâmetro comentado (ou definido como 0.0.0.0).
Porta 26379Defina a interface e porta de escuta Sentinel
4. Em seguida, diga Sentinela para monitorar nosso mestre, e considerá -lo no “Objetivamente para baixoDeclare apenas se pelo menos 2 sentinelas de quorum concordar. Você pode substituir “meu mestre”Com um nome personalizado.
#On Master Server e Sentinel1 Sentinel Monitor Mymaster 127.0.0.1 6379 2 #ON REPLICA1 E SENTINEL2 Monitor Sentinel Mymaster 10.42.0.247 6379 2 #on réplica1 e Sentinel3 Sentinel Monitor Mymaster 10.42.0.247 6379 2Defina o Redis Master para monitorar
Importante: A declaração do monitor Sentinel deve ser colocada antes do Sentinel AUTH-PASS declaração para evitar o erro “Nenhum mestre com o nome especificado.”Ao reiniciar o serviço Sentinel.
5. Se o Redis Master to Monitor tem um conjunto de senha (no nosso caso o mestre), forneça a senha para que a instância do Sentinel possa autenticar com a instância protegida.
Sentinel Auth-Pass Mymaster [Email Protected]Definir senha de autenticação mestre
6. Em seguida, defina o número de milissegundos, o mestre (ou qualquer réplica ou sentinela anexada) deve ser inacessível para considerá -lo no “Subjetivamente para baixo" estado.
A configuração a seguir significa que o mestre será considerado falhando assim que não recebermos nenhuma resposta de nossos pings dentro de 5 segundos (1 segundo é equivalente a 1000 milissegundos).
Sentinel Down-After-milissegunds Mymaster 5000Defina o tempo para o mestre
7. Em seguida, defina o tempo limite de failover em milissegundos que definem muitas coisas (leia a documentação do parâmetro no arquivo de configuração).
Sentinel Failover-timeout Mymaster 180000Definir falha durante o tempo limite
8. Em seguida, defina o número de réplicas que podem ser reconfiguradas para usar o novo mestre após um failover ao mesmo tempo. Como temos duas réplicas, definiremos uma réplica, pois a outra será promovida ao novo mestre.
Sentinel Parallel-Syncs Mymaster 1Defina o número de réplicas de sincronização paralela
Observe que os arquivos de configuração em REPLICA REDIS1 e Sentinel2, e REPLICA REDDIS1 e Sentinel2 deve ser idêntico.
9. Em seguida, reinicie o Sentinela Serviços em todos os nós para aplicar as mudanças recentes.
# SystemCtl reinicie o Redis-Sentinel
10. Em seguida, porta aberta 26379 no firewall em todos os nós para ativar o Sentinela Instâncias para começar a falar, receber conexões do outro Sentinela Instâncias, usando o Firewall-CMD.
# firewall-cmd-zone = public --permanent --add-port = 26379/tcp # firewall-cmd--reload
11. Todas as réplicas serão descobertas automaticamente. Importante, Sentinela Atualizará a configuração automaticamente com informações adicionais sobre réplicas. Você pode confirmar isso abrindo o Sentinela arquivo de configuração para cada instância e examine -o.
Por exemplo, quando você olha para o final do arquivo de configuração do mestre, você deve ver o Sentinelas conhecidas e Replica conhecida declarações como mostrado na captura de tela a seguir.
Config gerado automaticamente no mestreDeve ser o mesmo caso Replica1 e Replica2.
Config gerado automaticamente na réplica1 Config gerado automaticamente na réplica2Observe que o Sentinela A configuração também é reescrita/atualizada toda vez que uma réplica é promovida ao status mestre durante um failover e toda vez que um novo Sentinel é descoberto na configuração.
Etapa 3: verifique o status de configuração do Redis Sentinel
12. Agora verifique o Sentinela status/informações sobre o mestre, usando o Info Sentinel comando da seguinte forma.
# Redis -cli -P 26379 Informações Sentinel
A partir da saída do comando, como visto na captura de tela a seguir, temos duas réplicas/escravos e três sentinelas.
Verifique as informações do Sentinel no mestre13. Para mostrar informações detalhadas sobre o mestre (chamado meu mestre), use o Sentinel Master comando.
# Redis -cli -P 26379 Sentinel Master MymasterMostre informações detalhadas sobre o Sentinel Master
14. Para mostrar informações detalhadas sobre o escravos e sentinelas, use o Escravos Sentinel comando e Sentinel Sentinels comando respectivamente.
# Redis -cli -P 26379 Sentinel Slaves Mymaster # Redis -Cli -P 26379 Sentinel Sentinels Mymaster
15. Em seguida, pergunte o endereço do mestre pelo nome das instâncias de escravos usando o Sentinel Get-mestres-addr-by-name comando da seguinte forma.
A saída deve ser o endereço IP e a porta da instância principal atual:
# Redis-cli -P 26379 Sentinel Get-mestres-addr-by-name MymasterObtenha o endereço do mestre pelo nome em escravos
Etapa 4: teste o failover do Sentinel
16. Finalmente, vamos testar o failover automático em nosso Sentinela configurar. No Redis/Sentinel mestre, faça o Redis Mestre (executando na porta 6379) para dormir para 60 segundos. Em seguida, consulte o endereço do mestre atual nas réplicas/escravos da seguinte forma.
# Redis -cli -p 6379 127.0.0.1: 6379> Auth [email protegido] 127.0.0.1: 6379> Debug Sleep 60 # Redis-cli -P 26379 Sentinel Get-mestres-addr-by-name MyMaster # Redis-cli -p 26379 Sentinel Get-meter-add-by-name Mymaster
Da saída para a consulta, o novo mestre está agora Réplica/Slave2 com endereço IP 10.42.0.34 Como visto na captura de tela seguinte.
Teste o failover Redis SentinelVocê pode obter mais informações da documentação Redis Sentinel. Mas se você tem algum pensamento para compartilhar ou consultas, o formulário de feedback abaixo é o seu gateway para nós.
Na próxima e na última parte desta série, veremos como configurar um cluster Redis no CentOS 8. Será um artigo independente dos dois primeiros.
- « Como instalar o Lamp Server no CentOS 8
- Use olhares para monitorar o Linux Remote no modo de servidor da Web »