Redis sentinel 哨兵情势分分快三全天计划网站

作者:电脑系统

二、搭建redis-sentinel 集群意况

1、下载redis编写翻译安装包:redis-2.8.19.tar.gz,然后解压缩进行编译安装。将redis安装到/opt/redis目录下。

1 [root@idxs21-108 redis]# mkdir bin              #redis脚本文件 
2 [root@idxs21-108 redis]# mkdir conf             #redis配置文件 
3 [root@idxs21-108 redis]# mkdir data             #redis的本地数据存放 
4 [root@idxs21-108 redis]# mkdir logs             #redis日志文件 
5 [root@idxs21-108 redis]# tar zxvf redis-2.8.19.tar.gz cd redis-2.8.19 
6 [root@idxs21-108 redis]# make PREFIX=/opt/redis install cp *.conf /opt/redis/conf  #把安装源文件中的.conf配置文件拷贝一份到安装目录下的conf目录中。 
7 [root@idxs21-108 redis]# cd /opt/redis/conf cp redis.cof redis.conf.bak cp sentinel.conf sentinel.conf.bak   

2.在装置redis成功后,可以在/opt/redis/bin目录下观望以下内容:

1 [root@idxs21-108 bin]# ll
2 total 15220
3 -rwxr-xr-x 1 root root 4586251 Mar 10  2015 redis-benchmark
4 -rwxr-xr-x 1 root root   22177 Mar 10  2015 redis-check-aof
5 -rwxr-xr-x 1 root root   45387 Mar 10  2015 redis-check-dump
6 -rwxr-xr-x 1 root root 4679739 Mar 10  2015 redis-cli
7 lrwxrwxrwx 1 root root      27 Jun 20 15:59 redis-sentinel -> /opt/redis/bin/redis-server
8 -rwxr-xr-x 1 root root 6241748 Mar 10  2015 redis-server

3、更改master机器配置文件(这里一直动用的sed命令做的轮流卡塔 尔(阿拉伯语:قطر‎:

 1 # -- redis.conf                                                   #修改redis.conf
 2 sed -i 's/daemonize no/daemonize yes/g' redis.conf            #使用后台方式运行         
 3 sed -i 's/logfile ""/logfile "/opt/redis/logs/redis.log"/g' redis.conf  #配置日志路径
 4 # no AOF and RDB for master                                #配置数据同步策略,master节点注释关闭掉dump数据同步
 5 sed -i 's/save 900 1/# save 900 1/g' redis.conf
 6 sed -i 's/save 300 10/# save 300 10/g' redis.conf
 7 sed -i 's/save 60 10000/# save 60 10000/g' redis.conf
 8 sed -i 's/appendonly no/appendonly yes/g' redis.conf          #打开aof同步
 9 sed -i 's/dir .//dir "/opt/redis/data/"/g' redis.conf       #配置数据文件存放路径
10 sed -i 's/slowlog-log-slower-than 10000/slowlog-log-slower-than 5000/g' redis.conf
11 sed -i 's/slowlog-max-len 128/slowlog-max-len 1000/g' redis.conf
12  
13 # -- sentinel.conf                                                #修改sentinel.conf文件
14 echo 'daemonize yes' >> sentinel.conf                        #后台方式运行sentinel
15 echo 'logfile /opt/redis/logs/sentinel.log' >> sentinel.conf
16 sed -i 's/sentinel monitor mymaster 127.0.0.1 6379 2/sentinel monitor mymaster 10.135.40.118 6379 2/g' sentinel.conf  #配置哨兵模式 

 

4、修改slave机器配置文件,两台slave配置相近:

 1 # -- redis.conf
 2 sed -i 's/daemonize no/daemonize yes/g' redis.conf      
 3 sed -i 's/logfile ""/logfile "/opt/redis/logs/redis.log"/g' redis.conf     
 4 sed -i 's/# save ""/save ""/g' redis.conf         
 5 sed -i 's/appendonly no/appendonly yes/g' redis.conf      
 6 sed -i 's/dir .//dir "/opt/redis/data/"/g'redis.conf          
 7 
 8 # SLOWLOG GET or SLOWLOG GET number
 9 sed -i 's/slowlog-log-slower-than 10000/slowlog-log-slower-than 5000/g' redis.conf
10 sed -i 's/slowlog-max-len 128/slowlog-max-len 1000/g' redis.conf
12 echo "slaveof 10.135.40.118 6379" >> redis.conf                        #指定master节点
13 
14 # -- sentinel.conf
15 echo 'daemonize yes' >> sentinel.conf        
16 echo 'logfile /opt/redis/logs/sentinel.log' >> sentinel.conf
17 sed -i 's/sentinel monitor mymaster 127.0.0.1 6379 2/sentinel monitor mymaster 10.135.40.118 6379 2/g' sentinel.conf      

 

5、配置文件改过产生之后运行redis服务,从master开端起步,全数节点的开发银行方式和指令都以千篇豆蔻梢头律的。

1 启动redis服务和sentinel服务:
2 [root@idxs21-108 redis]# /opt/redis/bin/redis-server /opt/redis/conf/redis.conf
3 [root@idxs21-108 redis]# /opt/redis/bin/redis-sentinel /opt/redis/conf/sentinel.conf
4 查看服务进程状态:
5 [root@idxs21-108 redis]# ps -ef | grep redis
6 root      10024   9807  0 17:14 pts/0    00:00:00 grep redis
7 root      68378      1  0 Jul28 ?        01:30:09 /opt/redis/bin/redis-sentinel *:26379                      
8 root      68379      1  0 Jul28 ?        00:35:16 /opt/redis/bin/redis-server *:6379 

6、测试

1>.测验数据同步

 1 主redis写入数据:
 2 [root@idxs40-118 redis]# redis-cli -p 6379
 3 127.0.0.1:6379> set name abc
 4 OK
 5 127.0.0.1:6379> get name
 6 "abc"
 7 127.0.0.1:6379>
 8 从redis读取数据:
 9 [root@idxs40-117 redis]# redis-cli -p 6379
10 127.0.0.1:6379> get name
11 "abc"
12 127.0.0.1:6379>
13 从redis读取数据:
14 [root@idxs40-119 redis]# redis-cli -p 6379
15 127.0.0.1:6379> get name
16 "abc"
17 127.0.0.1:6379>

2>.redis暗中认可是读写抽离的,独有master能写,slave只可以读:

1 [root@idxs40-117 ~]# redis-cli -p 6379
2 127.0.0.1:6579> set name 123
3 (error) READONLY You can't write against a read only slave.

此间可看出,slave节点默许独有读的权柄,不能够进行写入操作。

7、sentinel一些指令介绍 要采纳sentinel的一声令下,我们必要用redis-cli命令步向到sentinel:

[root@idxs21-108 redis]# redis-cli -h 10.135.40.118 -p 26379
①INFO  sentinel的基本状态信息 
②SENTINEL masters  列出所有被监视的主服务器,以及这些主服务器的当前状态 
③SENTINEL slaves  列出给定主服务器的所有从服务器,以及这些从服务器的当前状态 
④SENTINEL get-master-addr-by-name  返回给定名字的主服务器的 IP 地址和端口号 
⑤SENTINEL reset  重置所有名字和给定模式 pattern 相匹配的主服务器。重置操作清除主服务器目前的所有状态, 包括正在执行中的故障转移, 并移除目前已经发现和关联的, 主服务器的所有从服务器和 Sentinel 。 
⑥SENTINEL failover  当主服务器失效时, 在不询问其他 Sentinel 意见的情况下, 强制开始一次自动故障迁移,但是它会给其他sentinel发送一个最新的配置,其他sentinel会根据这个配置进行更新

 

8、假如master节点宕机,会从两台slave中自行大选出后生可畏台机器接替master剧中人物。前期如若老的master节点重新上涨,重新参加集群中,也只可以是salve节点。

一、sentinel介绍

Sentinel作用: 
1):Master状态检查评定 
2):假如Master相当,则会实行Master-Slave切换,将中间叁个Slave作为Master,将事前的Master作为Slave 
3):Master-Slave切换后,master_redis.conf、slave_redis.conf和sentinel.conf的内容都会时有产生更动,即master_redis.conf中会多意气风发行slaveof的计划,sentinel.conf的监督指标会随着沟通 

Sentinel职业方法: 
1):种种Sentinel以每分钟一次的功能向它所知的Master,Slave以至别的Sentinel 实例发送三个 PING 命令 
2):如若二个实例(instance卡塔 尔(阿拉伯语:قطر‎间距最终三次有效苏醒 PING 命令的岁月超过down-after-milliseconds 选项所内定的值, 则那些实例会被 Sentinel 标志为主观下线。 
3):就算五个Master被标识为主观下线,则正在监视那一个Master的装有 Sentinel 要以每秒三遍的功用肯定Master的确步入了主观下线状态。 
4):当有丰富数量的 Sentinel(大于等于配置文件钦定的值卡塔 尔(英语:State of Qatar)在钦赐的光阴节制内分明Master的确步入了主观下线状态, 则Master会被标识为客体下线 
5):在相似情形下, 各个 Sentinel 会以每 10 秒二遍的功能向它已知的具备Master,Slave发送 INFO 命令 
6):当Master被 Sentinel 标识为合理下线时,Sentinel 向下线的 Master 的有着 Slave 发送 INFO 命令的频率会从 10 秒三次改为每秒一次 
7):若未有丰裕数量的 Sentinel 同意 Master 已经下线, Master 的合理性下线状态就能够被移除。 
8):若 Master 重新向 Sentinel 的 PING 命令归来有效复苏, Master 的主观下线状态就会被移除。

无缘无故下线和创造下线 
莫明其妙下线:Subjectively Down,简单的称呼 SDOWN,指的是方今 Sentinel 实例对某些redis服务器做出的底线剖断。 
合理下线:Objectively Down, 简单称谓 ODOWN,指的是多少个 Sentinel 实例在对Master Server做出 SDOWN 推断,何况通过 SENTINEL is-master-down-by-addr 命令相互交换之后,得出的Master Server下线推断,然后展开failover.

伊始来说便是: 
redis的sentinel系统用来保管多少个redis服务器,能够兑现四个效应上落到实处HA的集群。该系统第大器晚成推行三个职务: 
①监督( Monitoring 卡塔 尔(阿拉伯语:قطر‎: Redis Sentinel实时监控主服务器和从服务器运转情状。 
②提示(notification卡塔 尔(英语:State of Qatar): 当被监察和控制的有些 Redis 服务器出现难题时, Redis Sentinel 能够向系统一管理理员发送通告, 也得以因此 API 向其余程序发送文告 
三个大致的主干构造加sentinel集群的架构图如下: 

分分快三全天计划网站 1

 上图是黄金时代主两从节点,sentinel集群之间会相互通信,交流调换redis节点的状态,做出相应的论断并开展处理,这里的主观下线状态和合理性下线状态是比较根本的场馆,它们决定了是不是开展故障转移 可以通过订阅钦定的频段消息,当服务器现身故障得时候通告管理员 顾客端能够将 Sentinel 看作是叁个只提供了订阅功效的 Redis 服务器,你不能够使用 PUBLISH 命令向这么些服务器发送新闻,但您能够用 SUBSC卡宴IBE 命令可能 PSUBSCOdysseyIBE 命令, 通过订阅给定的频道来赢得相应的风云提示。 

叁个频段能够摄取和那几个频道的名字如出大器晚成辙的平地风波。 譬喻说, 名叫 sdown 的频段就足以吸纳全体实例步向主观下线(SDOWN卡塔尔国状态的风浪。

本文由分分快三计划发布,转载请注明来源

关键词: 分分快三计划