目录
系统版本:Red Hat Enterprise Linux Server release 6.8
redis官网:https://redis.io/
服务器上已安装了Redis,但是没有配置高可用。
redis_6379-6382目录是本机4个redis的安装目录,这4个现在都是master,software是redis的解压目录。
本机准备做1主3从模式的高可用。但由于redis目前只支持主从复制备份(不支持主主复制),当主redis挂了,从redis只能提供读服务,无法提供写服务。所以,还需要自动故障转移,redis sentinel带有这个功能,当一个主redis不能提供服务时,redis sentinel可以将一个从redis升级为主redis,并对其他从redis进行配置,让它们使用新的主redis进行复制备份。
切至Redis的解压目录
cd software/redis-3.2.8
复制redis.conf、sentinel.conf至各个安装目录的conf目录下
在此只写一个样例
- cp sentinel.conf /home/XX/redis_6379/conf
-
- cp redis.conf /home/XX/redis_6379/conf
修改之前备份
- cd /home/XX/redis_6379/conf
-
- cp redis.conf redis.conf.20180804.bak
vim redis.conf
- 将bind 127.0.0.1改为bind 0.0.0.0
-
- 将protected-mode yes改为protected-mode no(保护模式)
-
- 将daemonize no改为daemonize yes (后台模式)
-
- 将logfile ""改为logfile "/var/log/redis.log"(按需修改)
从机上多添加一行
slaveof 主机ip 6379
- vim sentinel.conf
-
- 将sentinel monitor mymaster 127.0.0.1 6379 2
-
- 修改为sentinel monitor mymaster 主机ip 6379 2 (主redis的IP和端口)
-
- 添加以下几行:
-
- daemonize yes
-
- protected-mode no
-
- logfile "/var/log/sentinel.log"(按需修改)
进入Redis安装目录的bin目录,执行命令:
- ./redis-server ../conf/redis.conf
-
- ./redis-sentinel ../conf/sentinel.conf
-
- ./redis-cli
分别启动redis6379/6380/6381/6382
退出redis-cli,命令:
quit
切换端口
./redis-cli -p 6381(根据实际端口填写)
在启动redis-cli后,输入命令:
info replication
查看Redis信息,包括角色、连接的从机等信息
应用启动时可指定yml文件,yml文件中关于redis的配置为
- spring:
- # cache:
- # type: redis
- # redis:
- # host: xx
- # port: 6379
- redis:
- sentinel:
- master: mymaster
- nodes: xx:26379,xx:26380,xx:26381