1, o Sentinel Perfil: Redis Sentinela
Sentinela (sentinel) é uma ferramenta para monitorar os clusters Redis no estado Principal , que foi integrado no redis2.4 versão oficial + Redis é recomendado para alta disponibilidade soluções (HA).
2, o papel da
. 1): Master detecção do estado
2): Se um mestre anormal, Master-Slave vai realizar handover, em que como um mestre e um escravo, o escravo como o mestre anterior
3):. O alvo monitorização handover Master-Slave vai sentinel.conf trocará
3, o modo de operação
1): Cada freqüência Sentinela de uma vez por segundo, sabe-se ao Mestre, Escravo e outros exemplos de transmissão de um comando PING Sentinela
2): se uma instância (instância) da última vez resposta válida excede o valor do comando PING para baixo-após-milissegundos especificado pela opção, em seguida, a instância é marcado subjetiva Sentinela offline.
3): Se um mestre é marcado como off-line subjetiva, tudo isso está sendo monitorado para garantir que o Mestre Sentinela Mestre de fato entrou em um estado offline subjetiva uma vez por segundo.
4): O Sentinel quando um número suficiente de (não menos do que os perfis valor especificado) Mestre faz confirmar o estado offline subjetiva entraram, o mestre será marcado como offline objetivo dentro de um prazo especificado.
4, desligado desligado subjetiva e objetiva
desligada subjetiva: Subjetivamente Baixo, refere SDOWN, referindo-se a uma sentinela offline determinar a instância atual do servidor fez um Redis.
desligada Objetivo: Objetivamente para baixo, refere ODOWN, refere-se a uma pluralidade de instâncias Sentinela SDOWN fazendo julgamento sobre Mestre Server, e interagir uns com os outros por um SENTINEL é mestre-de-down-by -addr comando depois, desligada derivado Mestre Servidor analisar e failover aberta
5, o modo de configuração sentinela
1.每台机器上修改redis主配置文件redis.conf文件设置:bind 0.0.0.0 ---已经操作
做主从同步
2.每台机器上修改sentinel.conf配置文件:修改如下配置
[root@redis-master src]# cd ..
[root@redis-master redis]# vim sentinel.conf
sentinel monitor mymaster 10.0.0.137 6379 2 #当集群中有2个sentinel认为master死了时,才能真正认为该master已经不可用了。 (slave上面写的是master的ip,master写自己ip)
sentinel down-after-milliseconds mymaster 3000 #单位毫秒 ping 3000毫秒没有响应 认为他不可用
sentinel failover-timeout mymaster 10000 #若sentinel在该配置值内未能完成failover(故障转移)操作(即故障时master/slave自动切换),则认为本次failover失败。
protected-mode no #关闭加密模式--新添加到sentinel配置文件中
3.每台机器启动哨兵服务:
[root@redis-master redis]# ./src/redis-sentinel sentinel.conf &
注意:在生产环境下将哨兵模式启动放到后台执行: ./src/redis-sentinel sentinel.conf &
src/redis-cli 进去后 info replication 可以查看状态
将master的哨兵模式退出(Crtl+c),再将redis服务stop了,在两台slave上面查看其中一台是否切换为master:(没有优先级,为随机切换)