Redis主从搭建

Redis主从搭建

  • 下载redis

下载地址:https://redis.io/download 下载当前最新稳定版本,

 

如果没有图形界面,在下方有安装指导。

通过命令行来下载。

下载好了通过scp将文件分配到各个服务器上。

  • 安装
  1. 解压缩,

命令tar –zxvf redis-4.0.9.tar.gz,解压完成后,移动到相应的安装目录,例如 mv redis-4.0.9 /usr/local/redis

  1. 安装

进入到redis目录:

cd redis

然后运行 make test (我遇到tcl版本低于8.5的问题,yum install tcl解决)

然后编译 make

进入src目录 make install PREFIX=/usr/local/redis (你要安装的目录)

会看到在目录下生成bin目录。

  1. 配置master服务器

通过vi/vim来打开redis下的redis.conf,编辑添加

添加requirepass redis123

添加 masterauth redis123(当开启哨兵时,master宕掉后恢复作为slave时会用到)

日志 logfile /usr/local/redis/log/redis.log

修改 bind 127.0.0.1 为本机ip

修改daemonize no 为 yes

  1. 配置slave服务器

通过vi/vim打开redis下的redis.conf编辑

添加requirepass redis123

日志 logfile /usr/local/redis/log/redis.log

修改 bind 127.0.0.1 为本机ip

修改daemonize no 为 yes

添加 masterauth redis123

添加slaveof 192.168.7.144 6379

  1. 分配配置文件到各个从服务器

使用scp 将配置好的redis.conf分配到各个从服务器上,修改相应的bind对应的IP。

  1. 启动校验

启动前确认相应服务器的端口是互通的,如果是本地测试的话可以关闭防火墙,命令是 systemctl stop firewalld.service.

开放端口如下(顺带将26379端口开放,哨兵的端口号):

添加命令:[root@localhost ~]# firewall-cmd --zone=public --add-port=6379/tcp --permanent

重新载入:[root@localhost ~]# firewall-cmd --reload

查看:[root@localhost ~]# firewall-cmd --zone=public --query-port=6379/tcp

启动命令是在bin下的redis-server,例如

./bin/redis-server redis.conf

连接测试:./bin/redis-cli –h 192.168.7.144

认证:192.168.7.144:6379> auth redis123

OK

       查看连接信息:192.168.7.144:6379> info replication

 

  • 哨兵(sentinel)

Redis哨兵主要用于监控、提醒、自动故障迁移。

这里测试只配置一个哨兵,在生产上需配置多个,以防止单个宕机后无法工作,配置是修改最低通过票数,也可以添加提醒脚本

# sentinel notification-script mymaster /var/redis/notify.sh。

哨兵配置:

进入redis下,vim sentinel.conf,设置 sentinel monitor 为Master 地址

sentinel monitor mymaster 127.0.0.1 6379 1修改为master 的IP,后面的1表示哨兵最低通过票数,用来投票某台服务是否宕掉。例如:

sentinel monitor mymaster 192.168.7.144 6379 1

添加密码:sentinel auth-pass mymaster redis123

以服务启动: daemonize yes

配置日志: logfile “/usr/local/redis/log/sentinel.log”

启动哨兵服务:[root@localhost redis]# ./bin/redis-sentinel sentinel.conf

手动kill掉一台slave:

在启动控制台可以看到:

有一台slave宕掉了,当重新启动时,会提示:

接下来试试master宕掉:

可以看到触发了failover

查看信息,146被选为master:

当重启以前的master时,会变为slave,我们不需要再去手动修改redis.conf文件。

猜你喜欢

转载自blog.csdn.net/u013750785/article/details/81565930