Redis集群是一个由多个主从节点群组成的分布式服务器群,它具有复制、高可用和分片特性。
Redis集群不需要sentinel哨兵也能完成节点移除和故障转移的功能。
需要将每个节点设置成集群模式,这种集群模式没有中心节点,可水平扩展,根据官方文档称可以线性扩展到上万个节点(官方推荐不超过1000个节点)。
Redis集群的性能和高可用性均优于哨兵模式,并且集群配置非常简单。
Redis集群需要至少三个master节点,搭建三个master节点,并且给每个master再搭建一个slave节点,总共6个Redis节点,用三台机器部署6个Redis实例,每台机器一主一从。
接下来我们开始搭建Redis高可用集群架构。
首先安装Redis,以Redis6.2.6为例,准备三台虚拟机,分别为
第一台IP:192.168.1.6,安装Redis节点6379、6380。
第二台IP:192.168.1.7,安装Redis节点6381、6382。
第三台IP:192.168.1.8,安装Redis节点6383、6384。
总共6个Redis节点,用三台机器部署6个Redis实例。
1.下载redis安装包
wget https://download.redis.io/releases/redis-6.2.6.tar.gz
2.进行解压
tar -zxvf redis-6.2.6.tar.gz
3.移动到/usr/local/目录下,命名为redis
mv redis-6.2.6 /usr/local/redis
4.切换到/usr/local/redis目录并编译
cd /usr/local/redis
make
5.安装到目录/usr/local/redis
make PREFIX=/usr/local/redis install
6. 创建目录,为了方便后期维护
cd /usr/local/redis
mkdir etc #配置文件redis.conf
mkdir logs #日志文件
mkdir data #数据
7.复制配置文件
cd /usr/local/redis
cp redis.conf /usr/local/redis/etc/
#redis.conf配置6379节点
重写命名redis.conf配置文件
#redis-6380.conf为6380节点
mv redis.conf redis-6380.conf
8.修改配置文件
第一台IP:192.168.1.6,修改Redis实例6379、6380配置。
修改Redis:6379实例配置。
vim redis.conf
#appendonly默认是no,修改为yes开启AOF持久化
appendonly yes
#设置哪些IP可以连接Redis,直接注释掉
#bind 127.0.0.1 -::1
#我们在redis的配置文件中会遇到protected-mode,它直译为保护模式。
#如果设置为yes,那么只允许我们在本机的回环连接,其他机器无法连接。
#线上Redis服务,为了安全,我们建议将protected-mode设置为yes。
#protected-mode设置为yes的情况下,为了我们的应用服务可以正常访问Redis,我们需要#设置Redis的bind参数或者密码参数requirepass
protected-mode yes
#设置Redis启动为后台守护进程
daemonize yes
#pidfile的路径
pidfile /usr/local/redis/logs/redis-6379.pid
#日志文件的路径
logfile /usr/local/redis/logs/redis-6379.log
#持久化数据存放的目录
dir /usr/local/redis/data/6379/
#设置客户端登陆密码
requirepass 123456
#masterauth主节点master授权密码
masterauth 123456
#开启集群模式
cluster‐enabled yes
#集群节点信息文件,最好与port端口对应