企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持知识库和私有化部署方案 广告
> `当master主服务器down`时候设置一个`子slave服务器为master` > '理解':当master宕机后会从slave中推选新的new master 当原来的old master重启后会变成新的new master的一个slave。 > 如果被选中的new master有设置密码,你需要修改old master对应的配置文件。 ## (1) 手动配置 ~~~ 1)不在做其他redis服务的slave slaveof no one 2)修改slave-read-only为no,表示可写 config set slave-read-only no 3)指定做谁的slave服务器 slaveof ip port ~~~ ## (2)`sentinel`自动配置。因为我们不可能预判他什么时候挂,所以可以用sentinel监视着他一旦挂了,就启用我们的备用方案。 ~~~ 0)这个sentinel.conf文件在redis安装目录有直接拷贝过来 cp /usr/local/src/redis-5.0.7/sentinel.conf ./ 1)监视谁(ip+port) 失败几次(2) `mymaster` 是我们起的名称(可更改,下面要一致) sentinel monitor mymaster 127.0.0.1 6379 2 2)有没有密码有密码设置密码, sentinel auth-pass mymaster MySUPER--secret-0123passw0rd 3)多长时间链接不上算失 sentinel down-after-milliseconds mymaster 30000 4)同时让几台slave链接新的master,(这里就让他是1),因为主从配置需要读取主的rdb和aof同时读取太多次,io会剧增。 sentinel parallel-syncs mymaster 1 5)启动这个sentinel.conf文件 --sentine模式 ./bin/redis-server ./sentinel.conf --sentinel 一旦master挂掉,就会从slave中选择一个优先级高的当master当优先级相同时,随机选一个当master。 6)设置slave优先级,redis.conf配置文件 `越低优先级越高` replica-priority 100 ~~~