陈银山 发表于 2016-12-19 08:55:55

redis主从配置与sentinel配置

1.linux 环境下redis安装,运行,关闭
1.1.安装 

wget http://download.redis.io/releases/redis-2.8.19.tar.gz
tar xzf redis-2.8.19.tar.gz
cd redis-2.8.19
make
make install
cp redis.conf /etc/
1.2.运行 
加载配置文件并后台运行

redis-server /etc/redis.conf &
1.3 关闭redis服务  

redis-cli shutdown 
可指定端口关闭 

redis-cli -p 6378 shutdown  
redis服务关闭后,缓存数据会自动dump到硬盘上,硬盘地址为redis.conf中的配置项dbfilename dump.rdb所设定 
强制备份数据到磁盘,使用如下命令 

redis-cli save
redis-cli -p 6380 save
 
2.主从配置 
角色             ip                     redis       sentinel 
master     192.168.11.212     6379        26379
从1          192.168.11.213     6379        26379
从2          192.168.11.201    6379        26379 
2.1从服务器 

vi /etc/redis.conf
#做如下修改,其他配置保持默认即可。注意实际环境下127.0.0.1必须替换为实际ip 

slaveof 192.168.11.212 6379  
#从1修改此值为50,默认是100

slave-priority 50
2.2主服务器
redis.conf  默认 
 
3配置sentinel 
3.1配置示例 
#这里都设置为监控master 

sentinel monitor mymaster 192.168.11.212 6379 2
sentinel down-after-milliseconds mymaster 30000
sentinel parallel-syncs mymaster 1
sentinel failover-timeout mymaster 180000
3.2启动sentinel  

redis-server sentinel.conf --sentinel
 
当输入写入master时,从自动同步。
如果未启动sentinel,当master fail over,集群无法使用;如果启动了sentinel,当master fail over时,从1优先被选举为master ,集群自动恢复。
 
注意:当2台机器作为主从时,
sentinel的如下配置项有所不同,最后一个数字配置为1

sentinel monitor mymaster 192.168.11.212 6379 1
 
如果master(192.168.11.212)意外宕机,需要slave(192.168.11.201)变为master时,需要在slave(192.168.11.201)机器的redis.conf中配置如下
 slave-read-only no
此时,slave才可能变为master,

17 Sep 14:22:53.827 # +switch-master mymaster 192.168.11.212 6379 192.168.11.201 6379
17 Sep 14:22:53.828 * +slave slave 192.168.11.212:6379 192.168.11.212 6379 @ mymaster 192.168.11.201 6379
17 Sep 14:23:23.857 # +sdown slave 192.168.11.212:6379 192.168.11.212 6379 @ mymaster 192.168.11.201 6379
17 Sep 14:25:38.564 # -sdown slave 192.168.11.212:6379 192.168.11.212 6379 @ mymaster 192.168.11.201 6379
17 Sep 14:25:48.577 * +convert-to-slave slave 192.168.11.212:6379 192.168.11.212 6379 @ mymaster 192.168.11.201 6379

 
一旦slave(192.168.11.201)变为master,当原来的master再启动,新的master(192.168.11.201)保持为master,除非新的master宕机。
模拟宕机,可以使用kill redis的进程实现
使用redis-cli shutdown是不行的,用此方法关闭master后,slave将会一直等待

17 Sep 14:17:02.075 # +new-epoch 9
17 Sep 14:17:02.075 # +try-failover master mymaster 192.168.11.212 6379
17 Sep 14:17:02.079 # +vote-for-leader d535c16973e8d4925e3d8c003aca17ff9f01626b 9
17 Sep 14:17:13.014 # -failover-abort-not-elected master mymaster 192.168.11.212 6379
17 Sep 14:17:13.106 # Next failover delay: I will not start a failover before Thu Sep 17 14:23:02 2015

 
 
 
页: [1]
查看完整版本: redis主从配置与sentinel配置