Redis开发与运维之第九章哨兵(三)--Redis Sentinel架构搭建重要点总结

介绍如何安装和部署Redis Sentinel

 

 

部署Redis数据节点 

 Redis Sentinel中Redis数据节点没有做任何特殊配置,复制redis.conf文件一份 根据以下提示查找

1.启动主节点

redis-6379.conf
port 6379
daemonize yes
logfile "6379.log"
dbfilename "dump-6379.rdb"
dir "/opt/soft/redis/data/"
redis-server redis-6379.conf

确认是否启动。一般来说只需要ping命令检测一下就可以,确认Redis数据节点是否已经启动。

redis-cli -h 127.0.0.1 -p 6379 ping

 此时此刻,拓补结构图是

 2. 启动两个从节点

两个从节点的配置是完全一样的,下面以一个从节点为例子进行说明,和主节点的配置不一样的是添加了slaveof配置 

redis-6380.conf
port 6380
daemonize yes
logfile "6380.log"
dbfilename "dump-6380.rdb"
dir "/opt/soft/redis/data/"
slaveof 127.0.0.1 6379

启动两个从节点

redis-server redis-6380.conf
redis-server redis-6381.conf
redis-cli -h 127.0.0.1 -p 6380 ping
PONG
$ redis-cli -h 127.0.0.1 -p 6381 ping
PONG

3.确认主从关系

主节点的视角,它有两个从节点,分别是127.0.0.1:6380和127.0.0.1:6381

$ redis-cli -h 127.0.0.1 -p 6379 info replication
# Replication
role:master
connected_slaves:2
slave0:ip=127.0.0.1,port=6380,state=online,offset=281,lag=1
slave1:ip=127.0.0.1,port=6381,state=online,offset=281,lag=0
.....

 从节点的视角,它的主节点是127.0.0.1:6379

$ redis-cli -h 127.0.0.1 -p 6380 info replication
# Replication
role:slave
master_host:127.0.0.1
master_port:6379
master_link_status:up
....

 拓补图结构

部署Sentinel节点

3个Sentinel节点的部署方法是完全一致的(端口不同),下面以sentinel-1节点的部署为例子 

1.配置Sentinel节点 :

redis-sentinel-26379.conf
port 26379
daemonize yes
logfile "26379.log"
dir /opt/soft/redis/data
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

 以上是核心配置内容提示

1)Sentinel节点的默认端口是26379。
2)sentinel monitor mymaster127.0.0.163792配置代表sentinel-1节点需要监控127.0.0.1:6379这个主节点,2代表判断主节点失败至少需要2个Sentinel节点同意,mymaster是主节点的别名,其余Sentinel配置将在下一节进行详细说明。

2.启动Sentinel节点

Sentinel节点的启动方法有两种:

方法一,使用redis-sentinel命令:

redis-sentinel redis-sentinel-26379.conf

 方法二,使用redis-server命令加--sentinel参数

redis-server redis-sentinel-26379.conf --sentinel

3.确认

     Sentinel节点本质上是一个特殊的Redis节点,所以也可以通过info命令来查询它的相关信息,从下面info的Sentinel片段来看,Sentinel节点找到了主节点127.0.0.1:6379,发现了它的两个从节点,同时发现Redis Sentinel一共有3个Sentinel节点。这里只需要了解Sentinel节点能够彼此感知到对方,同时能够感知到Redis数据节点就可以了

$ redis-cli -h 127.0.0.1 -p 26379 info Sentinel
# Sentinel
sentinel_masters:1
sentinel_tilt:0
sentinel_running_scripts:0
sentinel_scripts_queue_length:0
master0:name=mymaster,status=ok,address=127.0.0.1:6379,slaves=2,sentinels=3

 至此Redis Sentinel已经搭建起来了,整体上还是比较容易的,但是有2点需要强调一下

1)生产环境中建议Redis Sentinel的所有节点应该分布在不同的物理机上。
2)Redis Sentinel中的数据节点和普通的Redis数据节点在配置上没有任何区别,只不过是添加了一些Sentinel节点对它们进行监控。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章