【Redis Cluster集群】搭建高可用+支持海量数据+多Master的redis cluster集群

本文详细介绍了如何搭建一个高可用的RedisCluster集群,包括设置配置文件、启动多个实例以及使用redis-trib.rb创建集群。集群采用多个Master节点和对应的Slave节点实现读写分离,确保数据的高可用性和分布式存储,支持海量数据处理。
摘要由CSDN通过智能技术生成

3.【Redis Cluster集群】搭建高可用+支持海量数据+多Master的redis cluster集群

  • redis cluster最最基础的一些知识

redis cluster: 自动,master+slave复制和读写分离,master+slave高可用和主备切换,支持多个master的hash slot支持数据分布式存储

停止之前所有的实例,包括redis主从和哨兵集群

1、redis cluster的重要配置


# 启用redis集群支持
cluster-enabled <yes/no>

# redis cluster集群发生变更是,保留集群配置的文件
cluster-config-file <filename>:这是指定一个文件,供cluster模式下的redis实例将集群状态保存在那里,包括集群中其他机器的信息,比如节点的上线和下限,故障转移,不是我们去维护的,给它指定一个文件,让redis自己去维护的

# 配置redis cluster 不可用的最长时长,如果超过时长,节点还是不可用,认为宕机
cluster-node-timeout <milliseconds>:节点存活超时时长,超过一定时长,认为节点宕机,master宕机的话就会触发主备切换,slave宕机就不会提供服务

2、在三台机器上启动6个redis实例

2.1 在eshop-cache03上部署目录

/etc/redis(存放redis的配置文件)

/var/redis/6379(存放redis的持久化文件)

2.2 编写配置文件

redis cluster集群,要求至少3个master,去组成一个高可用,健壮的分布式的集群,每个master都建议至少给一个slave,3个master,3个slave,最少的要求

正式环境下,建议都是说在6台机器上去搭建,至少3台机器

保证,每个master都跟自己的slave不在同一台机器上,如果是6台自然更好,一个master+一个slave就死了

3台机器去搭建6个redis实例的redis cluster

# 创建存放redis cluster节点的配置文件
mkdir -p /etc/redis-cluster

# 创建存放redis cluster节点的日志文件
mkdir -p /var/log/redis

# 创建存放redis cluster节点的数据文件
mkdir -p /var/redis/7001
  • redis cluster配置文件配置:
# 绑定端口
port 7001

# 启用redis集群支持
cluster-enabled yes

# 配置redis cluster 保存配置的配置文件
cluster-config-file /etc/redis-cluster/node-7001.conf

# 配置redis cluster 节点的最大不可用时间
cluster-node-timeout 15000

# 配置后台运行
daemonize	yes

# 配置pid file文件
pidfile		/var/run/redis_7001.pid 						

# 配置redis cluster 节点存储数据的目录
dir 		/var/redis/7001		

# 配置 redis cluster 节点日志文件
logfile /var/log/redis/7001.log

# 绑定Ip地址
bind 192.168.31.187		

# 启用aof增量持久化策略
appendonly yes

至少要用3个master节点启动,每个master加一个slave节点,先选择6个节点,启动6个实例

将上面的配置文件,在/etc/redis下放6个,分别为: 7001.conf,7002.conf,7003.conf,7004.conf,7005.conf,7006.conf

2.3 准备生产环境的启动脚本

  • 制作6个启动脚本(复制之前6379的启动脚本),只需要修改端口配置即可。
cp /etc/init.d/redis_6379 /etc/init.d/redis_7001
cp /etc/init.d/redis_6379 /etc/init.d/redis_7002
cp /etc/init.d/redis_6379 /etc/init.d/redis_7003
cp /etc/init.d/redis_6379 /etc/init.d/redis_7004
cp /etc/init.d/redis_6379 /etc/init.d/redis_7005
cp /etc/init.d/redis_6379 /etc/init.d/redis_7006

在这里插入图片描述

2.4 分别在3台机器上,启动6个redis实例

将每个配置文件中的slaveof给删除

2.5 创建集群

因为,以前比如公司里面搭建集群,公司里的机器的环境,运维会帮你做好很多事情

在讲课的话,我们手工用从零开始装的linux虚拟机去搭建,那肯定会碰到各种各样的问题

yum install -y ruby
yum install -y rubygems
gem install redis

cp /usr/local/redis-5.0.3/src/redis-trib.rb /usr/local/bin

redis-trib.rb create --replicas 1 192.168.31.187:7001 192.168.31.187:7002 192.168.31.19:7003 192.168.31.19:7004 192.168.31.227:7005 192.168.31.227:7006

–replicas: 每个master有几个slave

6台机器,3个master,3个slave,尽量自己让master和slave不在一台机器上

yes

redis-trib.rb check 192.168.31.187:7001

4、读写分离+高可用+多master

读写分离:每个master都有一个slave
高可用:master宕机,slave自动被切换过去
多master:横向扩容支持更大数据量

3. redis cluster 的使用

  1. 登录 redis cluster
redis-cli -h 192.168.0.102 -p 7001 -c
  1. 查看redis cluster 状态
cluster info

在这里插入图片描述

  1. 查看redis cluster节点信息
cluster info

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值