天天看点

redis 高可用集群搭建

一、redis 的集中搭建方式

1.单体架构

单独一个redis服务

2.主从模式

 一主多从,出问题需要运维手动切换主从

3.哨兵模式

通过哨兵自动切换,存在问题:出现 master 挂了后,重新选主后可能瞬间不可用

redis 高可用集群搭建

4.高可用集群

redis 高可用集群搭建

如果一个小集群挂了后,其他小集群依然可以使用

二.高可用集群模式配置

1.下载 redis 

官网地址:https://redis.io/

https://download.redis.io/releases/redis-6.2.5.tar.gz

下载后放到 /usr/local/src

redis 高可用集群搭建

2.解压

cd /usr/local/src

tar -zxvf redis-6.2.5.tar.gz

3.移动redis 到 /usr/local

mv redis-6.2.5 ../

4.编译&安装

cd /usr/local/redis-6.2.5

make

make install

5.配置集群

1)配置第一个节点

mkdir -p /usr/local/redis-cluster

cd  /usr/local/redis-cluster

mkdir 8001

cp /usr/local/redis-6.2.5/src/redis-server /usr/local/redis-cluster/8001

cp /usr/local/redis-6.2.5/src/redis.conf /usr/local/redis-cluster/8001

#修 改redis 配置

vim /usr/local/redis-cluster/8001/redis.conf

redis 高可用集群搭建

配置其他节点

cp -r /usr/local/redis-cluster/8001 /usr/local/redis-cluster/8002

cp -r /usr/local/redis-cluster/8001 /usr/local/redis-cluster/8003

cp -r /usr/local/redis-cluster/8001 /usr/local/redis-cluster/8004

cp -r /usr/local/redis-cluster/8001 /usr/local/redis-cluster/8005

cp -r /usr/local/redis-cluster/8001 /usr/local/redis-cluster/8006

注意:8001、8002、8003、8004、8005、8006 需要注意修改bind 的地址、端口信息

可以用批量替换  :%s/8001/8003/g 格式,将 8001 批量替换成 8003

2)启动服务确认配置文件是否正常;

分别进入  8001、8002、8003、8004、8005、8006目录执行

redis-server redis.conf

redis 高可用集群搭建

如上图,配置没问题,可以正常启动 

3)安装 ruby  注意:高版本是否需要,还不确定,redis 3.0版本需要

如果安装慢,可以考虑阿里云加速镜像 

yum install ruby

yum install rubygems

gem install redis

注意:可以通过  --version 指定版本,例如:gem install redis --version 3.0.0

6.创建 redis 集群

cd /usr/local/redis-6.2.5/src

./redis-cli --cluster create 192.168.116.129:8001 192.168.116.129:8002 192.168.116.129:8003 192.168.116.129:8004 192.168.116.129:8005 192.168.116.129:8006 --cluster-replicas 1

最后的一个1,是  master/salve 的数量, 我这里每个小集群是1主1从  1/1 ,所以是1,假设配置1主2从,则是1/2=0.5

redis 高可用集群搭建

 提示是否配置,输入 yes :

redis 高可用集群搭建

7.验证集群

cd /usr/local/redis-cluster/8001

./redis-cli -c -h 192.168.116.129 -p 8001

redis 高可用集群搭建

发现执行 set  key value 的时候,会自动切换服务区自动设置

8.查看集群状态

 cluster info

redis 高可用集群搭建

9.关闭集群

./redis-cli -c -h 192.168.116.129 -p 8001 shutdown