目录
部署方案为: redis哨兵模式部署(2个哨兵节点和1主1从服务),springboot项目连接哨兵节点,主节点提供读写服务,从节点只读。如果主节点故障,从节点自动升级为主节点并提供读写服务,原来的主节点重启服务后变为从节点。
服务器A:172.16.11.30 部署主节点和1个哨兵节点
服务器B:172.16.11.31 部署从节点和1个哨兵节点
安装包:redis-5.0.3.tar.gz
主服务器redis安装
1.下载源码包后者将源码包传至服务器
wget http://download.redis.io/releases/redis-5.0.3.tar.gz
2.解压后出现redis-5.0.3文件夹
tar -xvf redis-5.0.3.tar.gz
3.进入主目录并进行编译
cd redis-5.0.3/
make
4.启动redis服务(&表示后台启动)
cd src/
./redis-server ../redis.conf &
5.使用客户端工具连接并测试
./redis-cli -h localhost -p 6379
AUTH test
主服务器redis配置
进入redis.conf文件进行配置,其他项保持默认配置。
#redis日志文件位置,日志文件都存入logs目录下
logfile "/home/software/redis-5.0.3/logs/redis.log"
#配置rbd模式持久化数据
save 900 1
save 300 10
save 60 10000
#配置rdb的文件名,则文件存储位置为/home/software/redis-5.0.3/dbfiles/dump.rdb
dbfilename "dump.rdb"
#指定数据文件的目录,如rdb文件和aof文件
dir "/home/software/redis-5.0.3/dbfiles"
#如果本服务器切换为从服务器时,只读,不可写
replica-read-only yes
#redis服务器的密码
requirepass test
#开启aof持久化模式
appendonly yes
#配置aof文件名
appendfilename "appendonly.aof"
从服务器redis安装
安装步骤见主服务器redis安装。
从服务器redis配置
和主服务器redis配置一致,另增加配置项。
#指定master节点
replicaof 172.16.11.30 6379
#指定master节点的连接密码
masterauth "test"
至此,redis的主从模式已搭建完毕。该模式能完成数据的自动复制,但是,当主节点异常时,需手动切换从节点提供服务。
哨兵节点配置
1.进入sentinel.conf文件进行配置,两台服务器哨兵节点配置相同。
当主从节点切换时,redis.conf和sentinel.conf文件中主从配置信息将自动进行变更。(如当172.16.11.31变为主节点,则172.16.11.30中会存在replicaof 172.16.11.31 6379)(sentinel monitor mymaster 172.16.11.31 6379 1)
#哨兵服务器日志文件位置
logfile "/home/software/redis-5.0.3/logs/sentinel.log"
#监控redis主节点服务,最后的数字1表示quorum,即当1个哨兵节点认为该节点已下线,则开始选举从节点为主节点
sentinel monitor mymaster 172.16.11.30 6379 1
#redis主节点的密码
sentinel auth-pass mymaster test
2.启动哨兵服务
两台服务器分别启动哨兵服务。
./redis-sentinel ../config/sentinel.conf &
springboot连接redis哨兵模式
spring
redis:
password: test
timeout: 5000
sentinel:
nodes: 172.16.11.30:26379,172.16.11.31:26379
master: mymaster