搭建redis集群

news2025/1/19 3:05:59

前言

redis 集群分为一下几种:
【主从模式】:一般情况大多都是读多写少的情况,主从模式可以将读写分离,主库写,从库只负责读取的情况,这从如果任何一个从库宕机的情况,整个集群仍然可以提供工作,缺点就是如果主宕机,集群将无法提供写操作,存在影响用户体验的情况。
主从模式架构图

【哨兵模式】:是主从模式的升级版本,通过redis哨兵监控集群的整体工作状态,虽然达到了动态处理宕机的情况,但是存在存储瓶颈,限制于当前的主的存储容量
哨兵模式架构图

【分片模式】:解决存储容量上线的问题,基于散列插槽的形式提升存储容量,解决海量存储的问题

安装单机版redis

1.从redis官方网站下载redis

Redis官网下载地址
Redis逛网下载地址
找到当前redis的稳定版本【Stable】
Redis6.2.12版本

2.将Reids压缩包上传到服务器上并执行解压操作

# 进入到/usr/local/目录
cd /usr/local/
# 创建一个redis 的专属操作文件夹
mkdir redis
# 解压redis压缩包
tar -zxvf redis-6.2.12.tar.gz 
# 创建一个存储redis 配置文件的目录
mkdir redis-config
# 把redis 原有的配置文件复制出来一份
cp ./redis-6.2.12/redis.conf ./redis-config/
# 安装并编译redis
cd redis-6.2.12
make & make install

这里记录一下小插曲,我这台服务器是阿里云的服务器,当时在这台机器上测试的时候一切顺利,当我去公司的正式环境安装的时候,出现了一些意外情况,在这里记录一下吧。
redis 的版本和linux的版本虽然没有直接关联,但是redis的编译需要gcc 等编译环境,高版本的redis需要升级gcc的版本,不然编译会报错,像如下图的这些情况。
编译报错01
编译报错02
由于公司的服务器需要VPN以及是无网络的环境,所以升级gcc是一个很麻烦的事情,可以曲线救国,降低一下reids的版本,换成了5.0.14稳定版本,编译顺利进行,当然,还没有去看5版本的和6版本的具体升级了那些功能,如果没有特殊要求的话,这样安装也可以。
编译成功
看到这个说明已经编译通过了!!!!

3. 将上面的操作分别在多个节点上执行

目录结构

4.修改节点上的配置文件并启动redis

# 开启后台运行
daemonize no ---> daemonize yes
# 配置可以远程连接
bind 127.0.0.1 ---> 0.0.0.0
# 设置redis 访问密码
requirepass 123123
----------------------------------------------------------------------
# 非必要配置
# 监听的端口号
port: 6379
# 工作目录,默认是当前目录,日志、持久化等文件会保存在这个目录
dir ./
# 数据库数量,默认是16个库 0~15
databases 16
# redis 能够使用的最大内存
maxmemory 512mb
# 日志文件,默认值为空,不记录日志,可以指定日志文件名称
logfile "redis.log"

5.设置开启自启动redis

创建一个redis.service系统文件

vi /etc/systemd/system/redis.service

将以下命令粘贴进去

[Unit]
Description=redis-server
After=network.target

[Service]
Type=forking
ExecStart=/usr/local/bin/redis-server /usr/local/redis/redis-config/redis.conf
PrivateTmp=true

[Install]
WantedBy=multi-user.target

然后重载系统服务

systemctl daemon-reload

设置开启自启动

systemctl enable redis

现在,我们可以用下面这组命令来操作redis了

# 启动
systemctl start redis
# 停止
systemctl stop redis
# 重启
systemctl restart redis
# 查看状态
systemctl status redis

配置Redis主从模式

# 在子节点中配置从节点
vi redis.config
# 在第一行上添加如下信息
slaveof 主节点IP 主节点端口号
# 因为主节点开启了密码,所以从节点也需要输入主节点的密码
masterauth 主节点的密码

可以开启一下redis日志,默认是关闭的方便后续的调试

# 连接到主节点,连接redis客户端 redis-cli
redis-cli -p 6379
# info 查看redis 信息
info Replication

主从节点信息
以上就完成了主从节点的配置

sentinel 配置文件

# 是当前sentinel 实例的端口号
port 27001
# 声明的IP地址
sentinel announce-ip 192.168.150.101
# 指定节点的信息 
# mymaster:主节点名称
# 192.168.150.101 7001 主节点的IP和端口号
# 2:选举master 时quorum 值 超过集群的半数以上,所以当前共三台机器,计算后为2
sentinel monitor mymaster 192.168.150.101 7001 2
# slave 与 master 最长超时时间
sentinel down-after-milliseconds mymaster 5000
# slave 故障恢复的超时时间
sentinel failover-timeout mymaster 60000
# 工作目录
dir "/tmp/s1"

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

使用GUI Guider工具开发嵌入式GUI应用(6)-切换多screen换场景

使用GUI Guider工具开发嵌入式GUI应用(6)-切换多screen换场景 本节将展示使用GUI Guider实现切换显示页面功能。 这里设计的用例是: 创建3张页面,screen_0,screen_1和screen_2。分别在每个页面上中放置一个Label(最…

仿牛客论坛项目day7|Kafka

一、阻塞队列 创建了一个生产者线程和一个消费者线程。生产者线程向队列中放入元素,消费者线程从队列中取出元素。我们可以看到,当队列为空时,消费者线程会被阻塞,直到生产者线程向队列中放入新的元素。 二、Kafka入门 发布、订阅…

亿图脑图MindMaster思维导图及亿图图示会员-超值途径

亿图脑图MindMaster思维导图及亿图图示会员 先简单看一下这两软件: MindMaster 亿图图示 丰富的社区,便捷易操作的界面,还有耐看的UI设计;要是再有点特权,真的是锦上添花~ 如果需要MindMaster思维导图或者亿图图示VIP…

Android Retrofit原理浅析

官方地址:Retrofit 原理:Retrofit 本质上是代理了OKhttp,使用代理模式,Type-Safe 类型安全 编译器把类型检查出 避免类型错误, enqueue 异步 切换线程 execute 同步 不切换线程 enqueue:Call接口定义的抽象方法 Retrofit.Create() 方法首先验证接口validateServiceInterf…

ps吸管工具用不了怎么办?

我们的办公神器ps软件,大家一定是耳熟能详的吧。Adobe photoshop是电影、视频和多媒体领域的专业人士,使用3D和动画的图形和Web设计人员,以及工程和科学领域的专业人士的理想选择。Photoshop支持宽屏显示器的新式版面、集20多个窗口于一身的d…

小数据 vs 大数据:为AI另辟蹊径的可操作数据

在人工智能背景下,您可能已听说过“大数据”这一流行语,那“小数据”这一词呢,您有听说过吗?无论您听过与否,小数据都无处不在:线上购物体验、航空公司推荐、天气预报等均依托小数据。小数据即一种采用可访…

webpack 和 ts 简单配置及使用

如何使用webpack 与 ts结合使用 新建项目 ,执行项目初始化 npm init -y会生成 {"name": "tsdemo01","version": "1.0.0","description": "","main": "index.js","scripts&…

java_免费文本翻译API_小牛翻译

目录 前言 开始集成API 纯文本翻译接口 双语对照翻译接口 指定术语翻译接口 总结 前言 网络上对百度,有道等的文本翻译API集成的文章比较多,所以集成的第一篇选择了小牛翻译的文本翻译API。 小牛翻译文本翻译API,支持388个语种&#xff0…

CrossOver2023快速在Mac和Linux系统上运行Windows软件

让您可以在 Mac 和 Linux 系统上运行 Windows 应用,不必购买 Windows 授权,不必重启系统,不必使用虚拟机。通过 CrossOver, 您可以从 dock 直接启动 Windows 应用,与您的 Mac 和 Linux 系统功能无缝集成。 无需重启 Cr…

强训第35天

选择 A 经过一个1->2 经过两个2->4 开始慢增长 4->5 5->6....9->10 到达4KB时变成慢增长,最多增长到10 D 网络号是180.80.76 但题目让向主机所在子网发广播 180 .80 .(01001101 | 111111 11)79 .255 标红的两位属于主机号所以答案为D A C 分片的组…

排名算法简介:对搜索结果进行排序的主要排名算法

一、介绍 学习排名 (LTR) 是一类监督式机器学习算法,旨在根据项目与查询的相关性对项目列表进行排序。在分类和回归等问题中的经典机器学习中,目标是根据特征向量预测单个值。LTR 算法对一组特征向量进行操作,并预测项…

【FAQ】视频集中存储EasyCVR安防监控平台接入AI分析时的通道显示问题排查

安防视频监控平台视频集中存储EasyCVR可拓展性强、视频能力灵活、部署轻快,可支持的主流标准协议有国标GB28181、RTSP/Onvif、RTMP等,以及支持厂家私有协议与SDK接入,包括海康Ehome、海大宇等设备的SDK等。 安防监控视频云存储平台EasyCVR既具…

为什么贴片电阻的阻值不规律?为了在某精度下做到阻值的全覆盖(对,但不全对),E系列电阻的算法(E12系列值不对的猜想)

1、先放上E系列的电阻表格 E12精度10%,E24精度5%,E96精度1%; 2、以精度作为条件的演算 通常我们选择电阻,要确定电阻的精度,如果以精度作为条件。 以10%精度来说:(数值少,好算&am…

STM32 CubeMX (第二步Freertos任务通信:队列、信号量、互斥量,事件组,任务通知)

STM32 CubeMX STM32 CubeMX ____Freertos任务通信:队列、信号量、互斥量,事件组,任务通知 STM32 CubeMX一、STM32 CubeMX设置时钟配置HAL时基选择TIM1(不要选择滴答定时器;滴答定时器留给OS系统做时基)使用…

超分辨率地震速度模型

文献分享 1. Multitask Learning for Super-Resolution 原题目:Multitask Learning for Super-Resolution of Seismic Velocity Model 全波形反演(FWI)是估算地下速度模型的强大工具。与传统反演策略相比,FWI充分利用了地震波的…

计算机丢失msvcp110.dll是什么意思?如何修复?

在日常使用电脑的时候,有时候会遇到一些使用问题。 比如,有一次遇到了这样一个问题。 那就是,因为“msvcp110.dll”这个文件丢失,有些软件安装不了。 计算机丢失msvcp110.dll是什么意思?该如何修复呢? ​…

05-微信小程序常用组件-表单组件

05-微信小程序常用组件-表单组件 文章目录 表单组件button 按钮案例代码 form 表单案例代码 image 图片支持长按识别的码案例代码 微信小程序包含了六大组件: 视图容器、 基础内容、 导航、 表单、 互动和 导航。这些组件可以通过WXML和WXSS进行布局和样式设…

LC-二叉树最大深度

LC-二叉树最大深度 链接:https://leetcode.cn/problems/maximum-depth-of-binary-tree/description/ 描述: 给定一个二叉树 root ,返回其最大深度。 二叉树的 最大深度 是指从根节点到最远叶子节点的最长路径上的节点数。 例1: …

一力破万法,Fiddler跟Charles抓包图文详解教程

一、Fiddler 1.1 Fiddler抓取HTTPS设置 1.1.1 配置证书 Tools菜单 —> Options —> HTTPS —> 勾选Decrypt HTTPS traffic选项。 说明: 勾选Decrypt HTTPS traffic选项:Decrypt HTTPS traffic:意思是解密HTTPS流量(…

[VS/C++]如何更好的配置DLL项目中的成品输出

注意,解决方案与项目不放在同一个文件夹中,即不选中图中选项 直入主题 首先右键项目选择属性,或者选中项目然后AltEnter 选择配置属性下的常规 分别在四种配置中编辑输出目录如下 注意,四种配置要分别配置,一个个来…