Redis 主从, 哨兵配置

Redis主从配置

1.启动一个主redis 不用做任何配置

2.启动一个从redis,有两种方式。a.在conf中配置slaveof <masterip> <masterport> ,masterip为主库ip,masterport为主库端口;b.在启动命令中添加 --slaverof  <masterip> <masterport>

Redis哨兵配置

1.port <sentinel-port>

redis哨兵实例运行端口

2.daemonize no

是否使用守护线程的模式,

yes:redis采用的是单进程多线程的模式。当redis.conf中选项daemonize设置成yes时,代表开启守护进程模式。在该模式下,redis会在后台运行,并将进程pid号写入至redis.conf选项pidfile设置的文件中,此时redis将一直运行,除非手动kill该进程。

no:当daemonize选项设置成no时,当前界面将进入redis的命令行界面,exit强制退出或者关闭连接工具(putty,xshell等)都会导致redis进程退出。

3.logfile "" 

日志文件地址,默认空字符串,在守护进程模式下,默认输出到/dev/null。

4.sentinel announce-ip <ip> 

外网ip 默认本地ip

5.sentinel announce-port <port>

外网端口 默认本地端口

6.dir <working-directory>

工作目录,默认/tmp

7.sentinel monitor <master-name> <ip> <redis-port> <quorum>

告诉sentinel去监听地址为ip:port的一个master,这里的master-name可以自定义,quorum是一个数字,指明当有多少个sentinel认为一个master失效时,master才算真正失效,只要同意Sentinel的数量不达标,自动failover就不会执行。默认值sentinel monitor mymaster 127.0.0.1 6379 2

8.sentinel auth-pass <master-name> <password> 

哨兵监听的master名称和密码

9.sentinel down-after-milliseconds <master-name> <milliseconds>

哨兵监听的master名称和master无响应的超时时间,单位毫秒,默认值sentinel down-after-milliseconds mymaster 30000。指定了Sentinel认为Redis实例已经失效所需的毫秒数。当实例超过该时间没有返回PING,或者直接返回错误,那么Sentinel将这个实例标记为主观下线。只有一个 Sentinel进程将实例标记为主观下线并不一定会引起实例的自动故障迁移:只有在足够数量的Sentinel都将一个实例标记为主观下线之后,实例才会被标记为客观下线,这时自动故障迁移才会执行

10.sentinel failover-timeout <master-name> <milliseconds>

指定故障转移超时(毫秒)。它有多种用途:

a.上次故障转移后重新启动故障转移所需的时间。

b.复制到错误的主库所需时间

c.取消一次没有发生任何配置更改的故障转移所需时间

d.等待新的主机配置时间

默认3分钟,sentinel failover-timeout mymaster 180000。

11.sentinel notification-script <master-name> <script-path>

通知脚本地址,当发生任何警告级别的事件时,会执行该路径所在脚本。通知参数:<event-type> <event-description> 事件类型和事件描述。例如:sentinel notification-script mymaster /var/redis/notify.sh。

12.sentinel client-reconfig-script <master-name> <script-path>

发生主库更新时的通知脚本路径,通知参数:<master-name> <role> <state> <from-ip> <from-port> <to-ip> <to-port>。一次代表主库名称,权限("leader" or "observer"),状态("failover"),旧的主库ip,旧的主库端口,新的主库ip,新的主库端口。例如:sentinel client-reconfig-script mymaster /var/redis/reconfig.sh

13.sentinel deny-scripts-reconfig yes

是否拒绝从新配置通知脚本,默认拒绝。

14.SENTINEL rename-command mymaster <old-command-name> <new-command-name>

从新修改master命令名称。

猜你喜欢

转载自blog.csdn.net/top_explore/article/details/92431304
今日推荐