【三】redis-高可用方案

redis高可用方案主要有:主从复制、哨兵模式、集群

下面将分别介绍这三种高可用方案。

搭建环境:
redis版本:redis-5.0.4
服务器环境:centos7

主从复制

Redis主从结构如下图所示,主节点(master)负责读写,从节点(slave)负责读

服务器

192.168.25.129(主)

192.168.25.133(从)

192.168.25.134(从)

搭建步骤

安装Redis(三台虚拟机)

$ yum -y install gcc $ yum -y install gcc-c++
$ wget http://download.redis.io/releases/redis-5.0.4.tar.gz
$ tar -zvxf redis-5.0.4.tar.gz 
$ cd redis-5.0.4 
$ make

修改配置文件redis.conf

# 服务器端口号,主从分别修改为7001 7002 7003 
port 7001 
# 使得Redis可以跨网络访问 
bind 0.0.0.0 
# 配置reids的密码 (可选)
requirepass "111111" 
# 下面两个配置只需要配置从节点(slave) 
# 配置主服务器地址、端口号 
replicaof 192.168.25.129 7001
# 主服务器密码  (可选)
masterauth "111111"

分别启动这三个Redis服务

$ ./src/redis-server redis.conf 

使用redis-cli工具连接redis服务查看主从节点是否搭建成功

./src/redis-cli -h <主机名> -p <端口号> 

$ ./src/redis-cli -h 192.168.25.129 -p 7001
$ info replication

可以看到主从复制搭建成功

 哨兵模式

主从模式有个弊端,会存在单点问题,一单主服务挂了,整个服务就无法正常运行。redis提供了另一种模式,哨兵模式,哨兵会实时监控master节点的状态,当master不可用时会从slave节点中选出一个作为新的master,并修改其他节点的配置指向到新的master。

搭建步骤

服务器

192.168.23.132

按上面的步骤下载安装Redis

服务器资源有限,在这台集群上搭建一个伪集群,将sentinel.conf文件复制两份为sentinel2.conf、sentinel3.conf,并分别修改配置

 # 三个配置文件分别配置不同的端口号
port <端口号>
# 设置为后台启动
daemonize yes
# 主节点的名称(可以自定义,与后面的配置保持一致即可)
# 主机地址
# 端口号
# 数量(2代表只有两个或两个以上的哨兵认为主服务器不可用的时候,才会进行failover操作)
sentinel monitor mymaster 192.168.25.129 7001 2
# 多长时间没有响应认为主观下线(SDOWN)
sentinel down-after-milliseconds mymaster 60000
# 表示如果15秒后,mysater仍没活过来,则启动failover,从剩下从节点序曲新的主节点
sentinel failover-timeout mymaster 15000
# 指定了在执行故障转移时, 最多可以有多少个从服务器同时对新的主服务器进行同步, 这个数字越小, 完成故障转移所需的时间就越长
sentinel parallel-syncs mymaster 1

启动三个sentinel

./src/redis-sentinel sentinel.conf

./src/redis-sentinel sentinel2.conf

./src/redis-sentinel sentinel3.conf

可以看到服务启动好了

如下图可以看到7002变成了master

集群

下载安装Redis(见主从复制模式的搭建步骤)。

创建6个文件夹放置Redis的配置文件,如下所示:

 配置文件内容:

port 1001  # 端口,每个配置文件不同1001-1006
cluster-enabled yes # 启用集群模式
cluster-config-file nodes.conf #节点配置文件
cluster-node-timeout 5000 # 超时时间
appendonly yes # 打开aof持久化
daemonize yes # 后台运行
protected-mode no # 非保护模式
pidfile  /var/run/redis_1001.pid # 根据端口修改

启动6个Redis节点

./src/redis-server /root/soft/redis-cluster/1001/redis.conf
./src/redis-server /root/soft/redis-cluster/1002/redis.conf
./src/redis-server /root/soft/redis-cluster/1003/redis.conf
./src/redis-server /root/soft/redis-cluster/1004/redis.conf
./src/redis-server /root/soft/redis-cluster/1005/redis.conf
./src/redis-server /root/soft/redis-cluster/1006/redis.conf

 此时启动的6个Redis服务是相互独立运行的,通过以下命令配置集群。

./src/redis-cli --cluster create --cluster-replicas 1 127.0.0.1:1001 127.0.0.1:1002 127.0.0.1:1003 127.0.0.1:1004 127.0.0.1:1005 127.0.0.1:1006

看到如下信息,集群搭建就完成了

可以使用cluster nodes命令查询

至此整篇博客就完成了

  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值