深入Redis集群部署:从安装配置到测试验证的完整指南

  

🏡作者主页:点击! 

🐧Linux基础知识(初学):点击!

🐧Linux高级管理防护和群集专栏:点击!

🔐Linux中firewalld防火墙:点击!

⏰️创作时间:2024年7月19日14点10分

🀄️文章质量:96分


目录

实验环境

实验开始

1.安装Redis并修改配置文件

2.安装所需组件

3.修改配置文件

4.测试群集

5.测试结果分析

6.总结


在当今数据驱动的时代,Redis作为一款高性能的内存数据结构存储系统,其在处理高速缓存、实时数据分析、消息队列等场景中扮演着不可或缺的角色。而Redis群集的部署,则是解锁其强大功能的关键一步,它不仅能够提供水平扩展能力,确保数据的高可用性和负载均衡,还能在大规模应用中保证服务的稳定性和效率。

实验环境

6台服务器

3台Master

3台Slave

IP地址:

192.168.192.100 /24 这个安装redis-3.2.0.gem

192.168.192.111 /24

192.168.192.112 /24

192.168.192.113 /24

192.168.192.114 /24

192.168.192.116 /24

实验开始

首先第一步上传安装包

我使用的版本:redis-3.2.9.tar.gz

其中一台上传两个包:redis-3.2.9.tar.gz redis-3.2.0.gem

1.安装Redis并修改配置文件

在每一台服务器上都要按照Redis,安装方式一致,其中的每一台配置都一样,只是IP地址不一样。

我这里采用远程登录软件 所有会话执行

Xshell所有会话 你用别的软件也可以 如果不嫌麻烦的话 就一个个配置

2.安装所需组件
 

yum groupinstall -y 'Development Tools' lrzsz
tar zxvf redis-3.2.9.tar.gz -C /usr/src
[root@localhost ~]# cd /usr/src/redis-3.2.9/
[root@localhost redis-3.2.9]# ls
00-RELEASENOTES  CONTRIBUTING  deps     Makefile   README.md   runtest          runtest-sentinel  src    utils
BUGS             COPYING       INSTALL  MANIFESTO  redis.conf  runtest-cluster  sentinel.conf     testsmake && make install 安装

安装开发工具和解压安装

yum groupinstall -y 'Development Tools' lrzsz:此命令使用包管理器安装“开发工具”组包和包。yumlrzsz

tar zxvf redis-3.2.9.tar.gz -C /usr/src:此命令将 Redis 源码 tarball 解压到目录中。/usr/src

编译并安装Redis:`make && make install`

安装完成之后

3.修改配置文件

找到以下配置参数 把前边的#去掉(不要修改别的 不然到时候连接失败很多问题)

编辑 Redis 配置文件
vim /etc/redis/6379.conf

Redis 配置选项

 bind 0.0.0.0daemonize yescluster-enabled yescluster-node-timeout 15000cluster-require-full-coverage yes

命令解释:

  1. 绑定 0.0.0.0:
    1. 此选项将 Redis 配置为接受来自所有 IP 地址的连接
  2. 守护进程是
    1. 此选项指示 Redis 作为后台守护程序运行。
    2. yes意味着 Redis 将作为守护进程在后台运行,允许在启动 Redis 后释放终端。
  3. 已启用群集 是
    1. 此选项将启用 Redis 集群模式。
    2. yes 表示Redis将以集群模式运行,允许多个Redis节点组成集群,以提高可扩展性和容错能力。
    3. 在集群模式下,数据会自动跨多个节点进行分片。
  4. cluster-node-timeout 15000
    1. 此选项设置群集节点操作的超时(以毫秒为单位)。
    2. 15000 毫秒(15 秒)是 Redis 在认为节点不可用之前等待节点响应的时间。
    3. 此超时值会影响节点故障的检测以及发生故障转移所需的时间。
  5. cluster-require-full-coverage 是
    1. 此选项指定集群是否要求节点覆盖所有插槽。
    2. yes 表示如果任一哈希槽未被至少一个节点覆盖,Redis 将停止接受写入。
    3. 此设置通过防止部分数据覆盖来确保整个集群的数据一致性和可用性。

这些配置选项将 Redis 设置为接受来自任何 IP 地址的连接、作为后台服务运行、启用具有特定节点超时的集群模式,并确保集群中数据槽的完全覆盖。

这时候可以取消所有会话

回到第一台Redis服务器上 也就是上传两个的服务器

安装 有助于在Ruby应用程序中与Redis进行交互

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

gem install redis --version 3.2.0:

  • 目的:安装特定版本的Redis gem。

安装 Ruby 和 RubyGems 是安装 Redis gem 的先决条件,Redis gem 是一个用于与 Redis 交互的 Ruby 库。

cd /usr/src/redis-3.2.9/src/./redis-trib.rb create --replicas 1 192.168.192.112:6379 192.168.192.111:6379 192.168.192.113:6379 192.168.192.114:6379 192.168.192.116:6379 192.168.192.100:6379 
  • 这个命令使用脚本创建一个Redis集群。redis-trib.rb
  • create参数表示执行创建集群的操作。
  • --replicas 1表示每个主节点将有一个从节点作为副本。
  • 后面跟随的是一系列的节点地址(格式为),这些地址是将要加入到集群中的Redis实例。IP:PORT

查看群集状态

 ./redis-trib.rb check 192.168.192.100:6379

redis-trib.rb 是 Redis 提供的一个 Ruby 脚本工具,用于管理和维护 Redis 集群。 命令会对指定的 Redis 节点(在这里是 )进行以下检查:check192.168.192.100:6379

  • 节点健康状况检查:确保节点在线并可以正常响应请求。
  • 节点配置检查:验证节点的配置是否正确,确保节点之间的一致性。
  • 集群状态检查:检查集群的状态,看是否存在分片失效、数据不一致等问题。
  • 副本同步检查:确保主从节点之间的数据同步正常。
  • 槽分配检查:检查每个节点分配的槽,确保槽的分配符合预期。

4.测试群集

登录Redis群集 设置键值测试 跟上 '-c'选项激活群集模式

[root@localhost src]# redis-cli -h 192.168.192.111 -p 6379 -c
192.168.192.111:6379> set a 1
-> Redirected to slot [15495] located at 192.168.192.113:6379
OK
192.168.192.113:6379> set a 2
OK
192.168.192.113:6379> set b 2
-> Redirected to slot [3300] located at 192.168.192.112:6379
OK
192.168.192.112:6379> set c 2
-> Redirected to slot [7365] located at 192.168.192.111:6379
OK
192.168.192.111:6379> set d 2
-> Redirected to slot [11298] located at 192.168.192.113:6379
OK
192.168.192.113:6379> get a
"2"
192.168.192.113:6379> get b
-> Redirected to slot [3300] located at 192.168.192.112:6379
"2"
192.168.192.112:6379> get c
-> Redirected to slot [7365] located at 192.168.192.111:6379
"2"
192.168.192.111:6379> get d
-> Redirected to slot [11298] located at 192.168.192.113:6379
"2"
上述过程中库
看到到登录的是群集中的任意一台服务器,当创建键值的时候,重定向到其他服务器上,按照slot分配的

5.测试结果分析

  • 1.数据的一致性:从结果中可以看到,每次重定向后,执行 操作时,数据都成功写入对应的节点。通过 操作也可以验证数据在正确的槽和节点上。setget
  • 2.槽分配
    • 键 映射到槽 15495,所在节点是 。a192.168.192.113:6379
    • 键 映射到槽 3300,所在节点是 。b192.168.192.112:6379
    • 键 映射到槽 7365,所在节点是 。c192.168.192.111:6379
    • 键 映射到槽 11298,所在节点是 。d192.168.192.113:6379

6.总结

  • 3.一致性验证:通过多次 操作,可以验证每个键的值和预期一致,并且重定向到正确的节点,说明集群的槽分配和数据存储正常。get

通过上述测试可以看出,Redis 集群能够正确地重定向请求,确保数据存储和读取的正确性。 命令可以帮助验证这些节点和配置是否一切正常,是保障 Redis 集群稳定运行的重要工具。./redis-trib.rb check

"成功的路上没有捷径,只有不断的努力与坚持。如果你和我一样,坚信努力会带来回报,请关注我,点个赞,一起迎接更加美好的明天!你的支持是我继续前行的动力!"

"每一次创作都是一次学习的过程,文章中若有不足之处,还请大家多多包容。你的关注和点赞是对我最大的支持,也欢迎大家提出宝贵的意见和建议,让我不断进步。"

神秘泣男子

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/380384.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

恶补,先验分布,后验分布 ,似然估计

恶补,打一遍增加印象 先验分布后验分布,似然估计 声明:仅记录个人学习,并无其他用途。 先验分布 后验分布, 似然估计 隔壁小哥的故事: 隔壁小哥要去15公里外的一个公园里玩,小哥可以选择步行…

SimMIM:一个类BERT的计算机视觉的预训练框架

1、前言 呃…好久没有写博客了,主要是最近时间比较少。今天来做一期视频博客的内容。本文主要讲SimMIM,它是一个将计算机视觉(图像)进行自监督训练的框架。 原论文:SimMIM:用于掩码图像建模的简单框架 (a…

IDEA的常见代码模板的使用

《IDEA破解、配置、使用技巧与实战教程》系列文章目录 第一章 IDEA破解与HelloWorld的实战编写 第二章 IDEA的详细设置 第三章 IDEA的工程与模块管理 第四章 IDEA的常见代码模板的使用 第五章 IDEA中常用的快捷键 第六章 IDEA的断点调试(Debug) 第七章 …

数据实时获取方案之Flink CDC

目录 一、方案描述二、Flink CDC1.1 什么是CDC1.2 什么是Flink CDC1.3 其它CDC1.4 FlinkCDC所支持的数据库情况 二、使用Pipeline连接器实时获取数据2.1 环境介绍2.2 相关版本信息2.3 详细步骤2.3.1 实时获取MySQL数据并发送到Kafka2.3.2 实时获取MySQL数据并同步到Doris数据库…

Ubuntu22.04安装CUDA+CUDNN+Conda+PyTorch

步骤: 1、安装显卡驱动; 2、安装CUDA; 3、安装CUDNN; 4、安装Conda; 5、安装Pytorch。 一、系统和硬件信息 1、Ubuntu 22.04 2、显卡:4060Ti 二、安装显卡驱动 (已经安装的可以跳过&a…

秒懂设计模式--学习笔记(11)【结构型-享元模式】

目录 10、享元模式10.1 享元模式10.2 举例10.2.1 马赛克10.2.2 游戏地图(以草原地图作为范例) 10.3 总结 10、享元模式 10.1 享元模式 “享元”则是共享元件的意思享元模式的英文flyweight是轻量级的意思,这就意味着享元模式能使程序变得更…

Selenium+Pytest自动化测试框架实战

前言# selenium自动化 pytest测试框架 本章你需要 一定的python基础——至少明白类与对象,封装继承 一定的selenium基础——本篇不讲selenium,不会的可以自己去看selenium中文翻译网 测试框架简介# 测试框架有什么优点呢: 代码复用率高&a…

IDEA的断点调试(Debug)

《IDEA破解、配置、使用技巧与实战教程》系列文章目录 第一章 IDEA破解与HelloWorld的实战编写 第二章 IDEA的详细设置 第三章 IDEA的工程与模块管理 第四章 IDEA的常见代码模板的使用 第五章 IDEA中常用的快捷键 第六章 IDEA的断点调试(Debug) 第七章 …

# Redis 入门到精通(七)-- redis 删除策略

Redis 入门到精通(七)-- redis 删除策略 一、redis 删除策略–过期数据的概念 1、Redis 中的数据特征 Redis 是一种内存级数据库,所有数据均存放在内存中,内存中的数据可以通过TTL指令获取其状态。 XX :具有时效性…

脑肿瘤有哪些分类? 哪些人会得脑肿瘤?

脑肿瘤,作为一类严重的脑部疾病,其分类复杂多样,主要分为原发性脑肿瘤和脑转移瘤两大类。原发性脑肿瘤起源于颅内组织,常见的有胶质瘤、脑膜瘤、生殖细胞瘤、颅内表皮样囊肿及鞍区肿瘤等。其中,胶质瘤作为最常见的脑神…

【Vue】深入了解 Axios 在 Vue 中的使用:从基本操作到高级用法的全面指南

文章目录 一、Axios 简介与安装1. 什么是 Axios?2. 安装 Axios 二、在 Vue 组件中使用 Axios1. 发送 GET 请求2. 发送 POST 请求 三、Axios 拦截器1. 请求拦截器2. 响应拦截器 四、错误处理五、与 Vuex 结合使用1. 在 Vuex 中定义 actions2. 在组件中调用 Vuex acti…

C语言 ——— 写一个函数,调整 整型数组 中 奇数偶数的顺序

目录 题目要求 代码实现 题目要求 创建一个整型数组 自定义函数实现:调整该数组中数字的顺序,使得数组中所有的奇数位于数组的前半部分,数组中所有的偶数位于数组的后半部分 举例: 输入的整型数组为:[234,24,45,…

价格较低,功能最强?OpenAI 推出 GPT-4o mini,一个更小、更便宜的人工智能模型

OpenAI美东时间周四推出“GPT-4o mini”,入局“小而精”AI模型竞争,称这款新模型是“功能最强、成本偏低的模型”,计划今后整合图像、视频、音频到这个模型中。 OpenAI表示,GPT-4o mini 相较于 OpenAI 目前最先进的 AI 模型更加便…

第2章 矩阵

A 乘以此列向量,1的位置依次往下,所以A的列向量全为0 B C、D 取BE 要统一

ETL数据集成丨主流ETL工具(ETLCloud、DataX、Kettle)数据传输性能大PK

目前市面上的ETL工具众多,为了方便广大企业用户在选择ETL工具时有一个更直观性能方面的参考值,我们选取了目前市面上最流行的三款ETL工具(ETLCloud、DataX、Kettle)来作为本次性能传输的代表,虽然性能测试数据有很多相…

2024年7月17日(nodejs,npm设置国内镜像,vue脚手架,远程管理ssh,踢出用户,scp命令,ssh免密登录)

1、安装nodejs服务 nodejs是一个运行1环境,和javajdk运行环境格式一样 [roota ~]# yum -y install nodejs.x86_64 安装完成之后,使用node -v 查看版本 [roota ~]# node -v v16.20.2 2、简易服务器的环境安装npm 安装包管理器 npm node packae manger [ro…

为什么要从C语言开始编程

在开始前刚好我有一些资料,是我根据网友给的问题精心整理了一份「C语言的资料从专业入门到高级教程」, 点个关注在评论区回复“888”之后私信回复“888”,全部无偿共享给大家!!!很多小伙伴在入门编程时。都…

01 机器学习概述

目录 1. 基本概念 2. 机器学习三要素 3. 参数估计的四个方法 3.1 经验风险最小化 3.2 结构风险最小化 3.3 最大似然估计 3.4 最大后验估计 4. 偏差-方差分解 5. 机器学习算法的类型 6. 数据的特征表示 7. 评价指标 1. 基本概念 机器学习(Machine Le…

【GraphRAG】微软 graphrag 效果实测

GraphRAG 本文将基于以下来源,对Microsoft GraphRAG分析优缺点、以及示例实测分析。 1. Source 代码仓库: Welcome to GraphRAGhttps://microsoft.github.io/graphrag/ 微软文章1(2024.2.13):GraphRAG: Unlocking…

FinClip 率先入驻 AWS Marketplace,加速全球市场布局

近日,凡泰极客旗下的小程序数字管理平台 FinClip 已成功上线亚马逊云科技(AWS)Marketplace。未来,FinClip 将主要服务于海外市场的开放银行、超级钱包、财富管理、社交电商、智慧城市解决方案等领域。 在全球市场的多样性需求推动…