1、部署主从复制模式,windows的已经讲过了,讲一下linux的主从复制。

我的redis.conf目录: /usr/local/redis/etc/redis.conf

复制redis.conf到/usr/local/redis目录下面,复制3份,分别是redis7269.conf,redis7270.conf,redis7271conf

linux安装redis centos_redis

2、修改配置文件:

公共修改:

port 端口号

bind 127.0.0.1 因为是在一个服务器上,这个ip不用修改

daemonize yes 默认后台运行

pidfile /var/run/redis_端口号.pid

logfile "端口号.log"

dbfilename dump端口号.rdb

注意:如果设置了密码:主从都要有requirepass  和  masterauth。因为哨兵模式下,主服务器会变成从服务器。

7270和7271修改:

slaveof 127.0.0.1 7269

3、启动服务:

进入redis目录,执行命令:

bin/redis-server redis7269.conf  bin/redis-server redis7270.conf  bin/redis-server redis7271.conf,

如果出现错误,是配置文件出错,需要重新配置。

注意:每次修改配置文件,要先停止服务,

bin/redis-cli -h 127.0.0.1 -p 7269 shutdown或者在客户端口:执行shutdown。

然后在重新启动服务,否则修改的配置是不会执行的。这个坑弄了我好长时间。

4、检查是否启动成功:命令:ps -ef | grep redis

linux安装redis centos_端口号_02

5、查看主从关系是否配置成功,执行命令:

bin/redis-cli -p 7269

auth 密码

info replication

linux安装redis centos_端口号_03

如果 主服务器connected——slaves:0,说明主从关系配置失败,要检查从服务器日志。就是之前公告配置的端口号.log。

查看错误信息,修改配置,关掉服务,重新启动。

6、//主从复制配置好以后,再配置哨兵模式

在/usr/local/redis  下新增sentinel27269.conf sentinel27270.conf  sentinel27271.conf三个文件

文件内容:

# Generated by CONFIG REWRITE

daemonize yes//默认后台启动

port 27269//端口号

dir "/tmp"

sentinel myid 2a616f0e6bbc46030046c115e2371d2a7958c25e

sentinel monitor mymaster 127.0.0.1 7269 2 //这个是一样的

sentinel down-after-milliseconds mymaster 3000

sentinel failover-timeout mymaster 10000

sentinel auth-pass mymaster 密码   //如果设置了密码,这块是要写的

具体其他配置的含义,可以自己去网上查找。

注意:密码设置好了,就不要再修改了,还有就是sentinel.conf里的配置尽量能确定好,因为sentinel.conf启动后就没办法再改配置了。

反正我是没找到怎么去中断sentinel.conf的运行。

然后就是启动sentinel.conf了。

命令:bin/redis-sentinel sentinel27269.conf bin/redis-sentinel sentinel27270.conf bin/redis-sentinel sentinel27271.conf

检查是否启动成功:命令:ps -ef | grep redis

7、测试

在7269客户端,执行shutdown,这样7269就中断啦。

然后在7270客户端,执行 info replication命令。

linux安装redis centos_linux安装redis哨兵模式_04

这个截图是7269重新启动后的截图,如果7269没有重新启动,是没有:

linux安装redis centos_端口号_05

并且连接数是1。

这个结果就说明在哨兵模式下,当主服务7269中断后,会随机在子服务中来选择一个作为主服务器,剩余的那个子服务也会重新连接新的子服务来当主服务。然后在重新启动7269后,7269也不会重新变成主服务,而是7270的子服务。

如果没有出现以上信息,需要自行去看日志解决。

linux安装redis centos_redis_06

这个问题是我配置时出现的问题,具体原因是redis7269.conf没有配置密码masterauth