redis集群配置(精华版):分片集群模式

概念

Redis 分片集群是一种用于横向扩展 Redis 数据库的方法,它将数据分散存储在多个 Redis 节点中,从而提高了系统的吞吐量和容量。在 Redis 分片集群中,数据被分割成多个片段(或分片),然后分布在不同的 Redis 节点上。

以下是 Redis 分片集群的一些关键概念和工作原理:

  1. 分片:数据按照某种规则(比如哈希)被分割成多个片段,每个片段被称为一个槽(slot)。槽是 Redis 分片集群中数据的基本单元。

  2. 节点:Redis 分片集群由多个节点组成,每个节点都是一个独立的 Redis 服务器。每个节点都负责存储和处理一部分数据片段,并且节点之间相互通信以实现数据的路由和同步。

  3. 槽分配:在 Redis 分片集群中,每个槽都被分配给一个节点,节点负责存储和处理分配给它的槽中的数据。槽的分配可以由系统自动完成,也可以手动配置。

  4. 路由:当客户端发送命令到 Redis 分片集群时,集群会根据命令操作的键值来确定数据属于哪个槽,并将命令路由到负责该槽的节点上进行处理。

  5. 数据复制:为了提高数据的可用性和容错性,Redis 分片集群通常会对数据进行复制。每个槽中的数据通常会有一个或多个副本,这些副本存储在不同的节点上。当主节点(存储数据的节点)宕机时,系统会自动选举一个从节点(副本节点)来成为新的主节点,从而保证数据的可用性。

  6. 集群管理:Redis 分片集群需要进行管理和监控,包括节点的健康状态监测、槽的分配和重新分配、数据的迁移、故障恢复等。Redis 提供了一些工具和命令来进行集群管理,比如 redis-cliredis-trib.rbCLUSTER 命令等。

动手实操

1、环境准备

三台centos7虚拟机,每台虚拟机,一个master,一个slave

在这里插入图片描述

节点IPPORT
master192.168.3.1318001
master192.168.3.1378002
master192.168.3.1388003
slave192.168.3.1319001
slave192.168.3.1379002
slave192.168.3.1389003
2、配置文件配置

由于需要和之前搭建的主从模式、哨兵模式的redis集群区分开,同时满足6个节点(3个master、3个slave),所以我直接重新复制原装的redis.conf文件到每台虚拟机对应的两个文件夹(master、slave)里面

我在三台服务器的/usr/local/bin/kconfig文件夹下新建masterslave文件夹,并复制原装的redis.conf

在这里插入图片描述

接着给每个redis.conf文件修改以下内容:我这里是先改一个,复制到另外5个,再小改(整体符合实际即可)

port 8001
# 开启集群功能
cluster-enabled yes
# 集群的配置文件名称,不需要我们创建,由redis自己维护
cluster-config-file /tmp/master/nodes-6379.conf
# 节点心跳失败的超时时间
cluster-node-timeout 5000
# 持久化文件存放目录
dir /tmp/master
# 绑定地址
bind 0.0.0.0
# 让redis后台运行
daemonize yes
# 注册的实例ip
replica-announce-ip 192.168.3.131
# 保护模式
protected-mode no
# 数据库数量
databases 1
# 日志
logfile /tmp/master/run.log

以3台虚拟机的master为例
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

给redis的输出文件创建文件夹,否则会报错

在这里插入图片描述

3、启动所有redis
redis-server kconfig/master/redis.conf
redis-server kconfig/slave/redis.conf
ps -ef | grep redis

在这里插入图片描述

4、创建集群

虽然服务启动了,但是目前每个服务之间都是独立的,没有任何关联。

我们需要执行命令来创建集群,在Redis5.0之前创建集群比较麻烦,5.0之后集群管理命令都集成到了redis-cli中。

笔者在这里只介绍redis5.0之后的

我们使用的是Redis5.0.7版本,集群管理以及集成到了redis-cli中,格式如下:

redis-cli --cluster create 192.168.3.131:8001 192.168.3.131:9001 192.168.3.137:8002 192.168.3.137:9002 192.168.3.138:8003 192.168.3.138:9003 --cluster-replicas 1

在这里插入图片描述

这里输入yes,则集群开始创建:

在这里插入图片描述

通过命令可以查看集群状态:

redis-cli -p 8001 cluster nodes

在这里插入图片描述

5、测试集群读/写

集群操作时,需要给redis-cli加上-c参数,否则会报错

以131服务器的8001为例:

redis-cli -c -p 8001

在这里插入图片描述

当我们写键值对的时候,redis分片集群会自动算到其中一个master/slave节点,将键值对保存

1)假如138服务器的master节点宕机,800*都为master节点

在这里插入图片描述

在这里插入图片描述

2)集群信息

在这里插入图片描述

  • 15
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小孔靠得住

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值