Redis哨兵模式(sentinel)
2018-03-07 10:42
357 查看
演示:已有一个端口号为6379的redis主节点和端口号为1011的从节点1,要在同一台主机安装端口号为2022 的redis从节点2和 sentinel-1、sentinel-3、sentinel-3三个哨兵组成的哨兵节点集合,实现故障自动转移。
平台:red hat linux
版本:redis-4.0.6
整个的主从及哨兵架构配置如下:
节点 ip port
主节点 master 127.0.0.1 6379
从节点1 slave-1 127.0.0.1 1011
从节点2 slave-2 127.0.0.1 2022
sentinel节点1 sentinel-1 127.0.0.1 12123
sentinel节点2 sentinel-2 127.0.0.1 12124
sentinel节点3 sentinel-3 127.0.0.1 12125
一:建立主节点 master
节点 ip port
主节点 master 127.0.0.1 6379
参考 Redis安装卸载
二:建立从节点 slave
节点 ip port
从节点1 slave-1 127.0.0.1 1011
从节点2 slave-2 127.0.0.1 2022
参考 Redis复制, 安装2022端口的从节点2
三:建立sentinel节点
平台:red hat linux
版本:redis-4.0.6
整个的主从及哨兵架构配置如下:
节点 ip port
主节点 master 127.0.0.1 6379
从节点1 slave-1 127.0.0.1 1011
从节点2 slave-2 127.0.0.1 2022
sentinel节点1 sentinel-1 127.0.0.1 12123
sentinel节点2 sentinel-2 127.0.0.1 12124
sentinel节点3 sentinel-3 127.0.0.1 12125
一:建立主节点 master
节点 ip port
主节点 master 127.0.0.1 6379
参考 Redis安装卸载
二:建立从节点 slave
节点 ip port
从节点1 slave-1 127.0.0.1 1011
从节点2 slave-2 127.0.0.1 2022
参考 Redis复制, 安装2022端口的从节点2
从节点2参考:修改这个redis2022.conf 文件的部分参数如下: [root@single-instance redis-4.0.6]# vi redis2022.conf bind 127.0.0.1 port 2022 daemonize yes pidfile /var/run/redis_2022.pid logfile /var/run/redis_2022.log dbfilename dump_2022.rdb 端口为2022的从节点2设置好后,在6379主节点查看主从信息如下: 127.0.0.1:6379> info replication # Replication role:master connected_slaves:2 slave0:ip=127.0.0.1,port=1011,state=online,offset=1680,lag=0 slave1:ip=127.0.0.1,port=2022,state=online,offset=1680,lag=0 master_replid:2849d350165877266afa5e5ebd3b2815a42ba626 master_replid2:0000000000000000000000000000000000000000 master_repl_offset:1680 second_repl_offset:-1 repl_backlog_active:1 repl_backlog_size:1048576 repl_backlog_first_byte_offset:1 repl_backlog_histlen:1680
三:建立sentinel节点
建立sentinel节点1的conf文件 [root@single-instance redis-4.0.6]# cp sentinel.conf sentinel12123.conf [root@single-instance redis-4.0.6]# vi sentinel12123.conf bind 127.0.0.1 port 12123 dir /var/run/sentinel_12123 sentinel monitor mymaster 127.0.0.1 6379 2 sentinel down-after-milliseconds mymaster 30000 sentinel parallel-syncs mymaster 1 sentinel failover-timeout mymaster 180000 /*注释 port 12123 端口是12123 sentinel monitor mymaster 127.0.0.1 6379 2 监控ip为127.0.0.1 端口为6379的主节点服务器,2是判断主节点的sentinel数量 节点之间通过ping来确定 sentinel down-after-milliseconds mymaster 30000 超过设置时间没有ping通redis节点和其他sentinel节点,判定超时 sentinel parallel-syncs mymaster 1 故障转移到新的主节点时,从节点的复制节点数量 sentinel failover-timeout mymaster 180000 故障转移时间 */ 启动sentinel节点1 [root@single-instance redis-4.0.6]# src/redis-sentinel sentinel12123.conf 10947:X 06 Mar 21:23:56.824 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo 10947:X 06 Mar 21:23:56.824 # Redis version=4.0.6, bits=64, commit=00000000, modified=0, pid=10947, just started 10947:X 06 Mar 21:23:56.824 # Configuration loaded 10947:X 06 Mar 21:23:56.824 * Increased maximum number of open files to 10032 (it was originally set to 1024). _._ _.-``__ ''-._ _.-`` `. `_. ''-._ Redis 4.0.6 (00000000/0) 64 bit .-`` .-```. ```\/ _.,_ ''-._ ( ' , .-` | `, ) Running in sentinel mode |`-._`-...-` __...-.``-._|'` _.-'| Port: 12123 | `-._ `._ / _.-' | PID: 10947 `-._ `-._ `-./ _.-' _.-' |`-._`-._ `-.__.-' _.-'_.-'| | `-._`-._ _.-'_.-' | http://redis.io `-._ `-._`-.__.-'_.-' _.-' |`-._`-._ `-.__.-' _.-'_.-'| | `-._`-._ _.-'_.-' | `-._ `-._`-.__.-'_.-' _.-' `-._ `-.__.-' _.-' `-._ _.-' `-.__.-' 10947:X 06 Mar 21:23:56.831 # WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128. 10947:X 06 Mar 21:23:56.842 # Sentinel ID is 1a34cd5220ef529f215cc8684a5871814daa45b1 10947:X 06 Mar 21:23:56.842 # +monitor master mymaster 127.0.0.1 6379 quorum 2 登录sentinel节点1客户端查看 sentinel监控的主节点信息,单目前只有一个sentinel=1 [root@single-instance src]# ./redis-cli -h 127.0.0.1 -p 12123 info Sentinel # Sentinel sentinel_masters:1 sentinel_tilt:0 sentinel_running_scripts:0 sentinel_scripts_queue_length:0 sentinel_simulate_failure_flags:0 master0:name=mymaster,status=ok,address=127.0.0.1:6379,slaves=2,sentinels=1 同样的设置sentinel节点2和节点3,并启动 再次查看 sentinel监控的主节点信息,有了三个sentinel=3 [root@single-instance src]# ./redis-cli -h 127.0.0.1 -p 12123 info Sentinel # Sentinel sentinel_masters:1 sentinel_tilt:0 sentinel_running_scripts:0 sentinel_scripts_queue_length:0 sentinel_simulate_failure_flags:0 master0:name=mymaster,status=ok,address=127.0.0.1:6379,slaves=2,sentinels=3
相关文章推荐
- Redis全方位讲解--哨兵模式(Sentinel模式)
- 基于哨兵【sentinel】模式的redis服务集群并与spring集成
- redis sentinel哨兵模式集群搭建教程
- Redis sentinel 哨兵模式
- Redis采用sentinel哨兵模式进行master-slave复制,read-write分离
- Redis哨兵模式(Sentinel)
- Redis-sentinel哨兵模式集群方案配置
- Redis-Sentinel redis的哨兵模式
- Redis-sentinel哨兵模式
- Redis集群redis主从自动切换Sentinel(哨兵模式)
- redis sentinel(哨兵)模式
- Sentinel Redis哨兵模式
- 基于哨兵(Sentinel)模式搭建Redis集群搭建
- Redis-sentinel哨兵模式集群方案配置
- Redis-sentinel哨兵模式集群方案配置
- Redis-Sentinel Redis的哨兵模式
- redis主从切换---Sentinel(哨兵模式)
- Redis-sentinel哨兵模式集群方案配置
- redis 4.x 安装哨兵模式 sentinel
- Redis-sentinel哨兵模式集群方案配置