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命令名称。

Redis主从哨兵配置是一种高可用的Redis部署方案,使用该方案可以保证Redis在主节点宕机时自动切换到备用节点,从而保证系统的可用性。下面是主从哨兵配置的步骤: 1. 配置主节点 在主节点上,需要修改redis.conf配置文件,设置`slaveof no one`,表示该节点为主节点。 ``` # redis.conf slaveof no one ``` 2. 配置从节点 在从节点上,需要修改redis.conf配置文件,设置`slaveof master_ip master_port`,指定主节点的IP地址和端口号,表示该节点为从节点。 ``` # redis.conf slaveof 127.0.0.1 6379 ``` 3. 配置哨兵节点 在哨兵节点上,需要创建一个sentinel.conf配置文件,并指定监控的主节点的IP地址和端口号。 ``` # sentinel.conf sentinel monitor mymaster 127.0.0.1 6379 2 sentinel down-after-milliseconds mymaster 5000 sentinel failover-timeout mymaster 180000 ``` 其中,`sentinel monitor`命令用于指定要监控的主节点的IP地址和端口号,`sentinel down-after-milliseconds`命令用于设置哨兵节点检测主节点失效的时间,`sentinel failover-timeout`命令用于设置故障转移的超时时间。 4. 启动Redis节点和哨兵节点 启动主节点、从节点和哨兵节点的命令分别为: ``` redis-server /path/to/redis.conf redis-server /path/to/redis.conf --port 6380 redis-sentinel /path/to/sentinel.conf ``` 其中,`redis-server`命令用于启动Redis节点,`redis-sentinel`命令用于启动哨兵节点。 5. 测试 当主节点宕机时,哨兵节点会自动将从节点切换为主节点,从而保证系统的可用性。可以通过手动关闭主节点的进程来测试主从哨兵配置是否生效。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值