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

2024-03-30 09:36

本文主要是介绍redis集群配置(精华版):分片集群模式,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

分片集群模式

      • 概念
      • 动手实操
        • 1、环境准备
        • 2、配置文件配置
        • 3、启动所有redis
        • 4、创建集群
        • 5、测试集群读/写

概念

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)集群信息

在这里插入图片描述

这篇关于redis集群配置(精华版):分片集群模式的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/861122

相关文章

VScode连接远程Linux服务器环境配置图文教程

《VScode连接远程Linux服务器环境配置图文教程》:本文主要介绍如何安装和配置VSCode,包括安装步骤、环境配置(如汉化包、远程SSH连接)、语言包安装(如C/C++插件)等,文中给出了详... 目录一、安装vscode二、环境配置1.中文汉化包2.安装remote-ssh,用于远程连接2.1安装2

Redis的Zset类型及相关命令详细讲解

《Redis的Zset类型及相关命令详细讲解》:本文主要介绍Redis的Zset类型及相关命令的相关资料,有序集合Zset是一种Redis数据结构,它类似于集合Set,但每个元素都有一个关联的分数... 目录Zset简介ZADDZCARDZCOUNTZRANGEZREVRANGEZRANGEBYSCOREZ

Redis多种内存淘汰策略及配置技巧分享

《Redis多种内存淘汰策略及配置技巧分享》本文介绍了Redis内存满时的淘汰机制,包括内存淘汰机制的概念,Redis提供的8种淘汰策略(如noeviction、volatile-lru等)及其适用场... 目录前言一、什么是 Redis 的内存淘汰机制?二、Redis 内存淘汰策略1. pythonnoe

windos server2022的配置故障转移服务的图文教程

《windosserver2022的配置故障转移服务的图文教程》本文主要介绍了windosserver2022的配置故障转移服务的图文教程,以确保服务和应用程序的连续性和可用性,文中通过图文介绍的非... 目录准备环境:步骤故障转移群集是 Windows Server 2022 中提供的一种功能,用于在多个

windos server2022里的DFS配置的实现

《windosserver2022里的DFS配置的实现》DFS是WindowsServer操作系统提供的一种功能,用于在多台服务器上集中管理共享文件夹和文件的分布式存储解决方案,本文就来介绍一下wi... 目录什么是DFS?优势:应用场景:DFS配置步骤什么是DFS?DFS指的是分布式文件系统(Distr

关于Maven中pom.xml文件配置详解

《关于Maven中pom.xml文件配置详解》pom.xml是Maven项目的核心配置文件,它描述了项目的结构、依赖关系、构建配置等信息,通过合理配置pom.xml,可以提高项目的可维护性和构建效率... 目录1. POM文件的基本结构1.1 项目基本信息2. 项目属性2.1 引用属性3. 项目依赖4. 构

龙蜥操作系统Anolis OS-23.x安装配置图解教程(保姆级)

《龙蜥操作系统AnolisOS-23.x安装配置图解教程(保姆级)》:本文主要介绍了安装和配置AnolisOS23.2系统,包括分区、软件选择、设置root密码、网络配置、主机名设置和禁用SELinux的步骤,详细内容请阅读本文,希望能对你有所帮助... ‌AnolisOS‌是由阿里云推出的开源操作系统,旨

Redis主从/哨兵机制原理分析

《Redis主从/哨兵机制原理分析》本文介绍了Redis的主从复制和哨兵机制,主从复制实现了数据的热备份和负载均衡,而哨兵机制可以监控Redis集群,实现自动故障转移,哨兵机制通过监控、下线、选举和故... 目录一、主从复制1.1 什么是主从复制1.2 主从复制的作用1.3 主从复制原理1.3.1 全量复制

Redis延迟队列的实现示例

《Redis延迟队列的实现示例》Redis延迟队列是一种使用Redis实现的消息队列,本文主要介绍了Redis延迟队列的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习... 目录一、什么是 Redis 延迟队列二、实现原理三、Java 代码示例四、注意事项五、使用 Redi

Redis缓存问题与缓存更新机制详解

《Redis缓存问题与缓存更新机制详解》本文主要介绍了缓存问题及其解决方案,包括缓存穿透、缓存击穿、缓存雪崩等问题的成因以及相应的预防和解决方法,同时,还详细探讨了缓存更新机制,包括不同情况下的缓存更... 目录一、缓存问题1.1 缓存穿透1.1.1 问题来源1.1.2 解决方案1.2 缓存击穿1.2.1