Redis 一主两从高可用环境搭建
Redis 支持 Master-Slave(主从)模式,Redis Server 可以设置为另一个 Redis Server 的主机(从机),从机定期从主机拿数据。特殊的,一个从机同样可以设置为一个 Redis Server 的主机,这样一来 Master-Slave 的分布看起来就是一个有向无环图 DAG,如此形成 Redis Server 集群,无论是主机还是从机都是 Redis Server,都可以提供服务。
环境:centos6.5,由于是测试,现在将三个redis放在一台机器上。
一、安装redis
1.下载、解压
[root@bmsoft home]# cd bmsoft/
[root@bmsofthome]# wget http://download.redis.io/releases/redis-3.2.6.tar.gz
[root@bmsoft bmsoft]# tar -zxvf redis-3.2.6.tar.gz
2.将解压后的文件分别放到/bmsoft下的三个文件夹redis1、redis2、redis3中,其中我们将reids1设为主机master目录,redis2和redis3设为从机slaver目录。
[root@bmsoft bmsoft]# mv redis-3.2.6 /home/bmsoft/redis1
[root@bmsoft bmsoft]# mv redis-3.2.6 /home/bmsoft/redis2
[root@bmsoft bmsoft]# mv redis-3.2.6 /home/bmsoft/redis3
3.下面挨个开始编译,以redis1为例
[root@bmsoft bmsoft]# cd redis1/redis-3.2.6
[root@bmsoft bmsoft]# make
上面这个命令在redis1、redis2、redis3各执行一遍。
提示:如果编译失败可能是没有安装gcc和gcc-c++,有可能还要安装tcl,具体问题具体对待,因为redis编译时需要一些环境支持。
二、配置redis.conf
安装完毕就要开始配置了。由于是一主多从的架子,所以我选择redis1为主,redis2、redis3为从。在每个redis解压目录下都有一个redis.conf,先修改主redis的配置。
以下所有配置如果在redis.conf文件用#注释掉,请打开注释,否则无效。
1.主节点redis1的redis.conf配置
bind 0.0.0.0 //默认是127.0.0.1,如果用其他ip,springboot连接redis可能不会太顺利
Protected-mode no
port 7000
daemonize yes //redis可以带配置文件后台运行
pidfile "/var/run/redis_7000.pid" //对应7001,7002
dir “/home/bmsoft/redis1/data” //对应所在文件夹
slave-priority 100
appendonly yes
appendfsync everysec
2.从节点redis2的redis.conf配置
bind 本机ip //默认是127.0.0.1, 我在本文档中就用127.0.0.1
Protected-mode no
port 7001
daemonize yes //redis可以带配置文件后台运行
pidfile "/var/run/redis_7001.pid"
dir “/home/bmsoft/redis2/data” //对应所在文件夹
slaveof 127.0.0.1 7000 //地址为主机的ip +端口
slave-read-only yes //由于是从机设置为只读
slave