Redis一主二从三哨兵配置

news2024/11/17 6:28:57

一.安装Redis(三台主机)

1.下载redis安装程序

访问https://redis.io/download/ 进行对应系统和版本的下载,以下以redis的7.0.5为例安装

 2.安装redis

mkdir -p /data/soft  #创建软件安装程序的存放目录
cd /data/soft  #进入目录,将下载的程序包上传进去
mkdir -p /usr/local/redis705  #创建redis的存放目录
tar xf redis-7.0.5.tar.gz -C /usr/local/redis705  #将安装包解压到对应目录
cd /usr/local/redis705
ln -s redis-7.0.5  redis  #创建软链接,方便后续程序升级
cd redis  #进入redis目录
make&&make install  #进行安装,使用默认路径安装,如果要指定安装路径,可加参数PREFIX
 
 
默认安装程序都放在 /usr/local/bin底下,可使用以下命令查看安装是否成功
redis-server -v  #查看redis的版本

3.设置systemctl管理redis服务

vim /usr/lib/systemd/system/redis.service
[Unit]
Description=redis-server
After=network.target
 
[Service]
Type=forking
# ExecStart需要按照实际情况修改成自己的地址
ExecStart=/usr/local/bin/redis-server /usr/local/redis705/redis/redis.conf
PrivateTmp=true
 
[Install]
WantedBy=multi-user.target
 
 
systemctl daemon-reload  #先暂时不开启redis,等配置文件配置完再开启

4.设置systemctl管理sentinel服务

vim /lib/systemd/system/redis-sentinel.service
[Unit]
Description=redis-sentinel
After=network.target
  
[Service]
Type=forking
ExecStart=/usr/local/bin/redis-sentinel /usr/local/redis705/redis/sentinel.conf
PrivateTmp=true
  
[Install]
WantedBy=multi-user.target
 
 
systemctl daemon-reload   #先暂时不开启哨兵,后面一起开启

二.配置主从

1.修改主节点配置文件

vim /usr/local/redis705/redis/redis.conf
# 以下是修改内容
bind 0.0.0.0   # 监听可用多路接口(多网卡主机)。也可以指定监听的 ip
port 6379
protected-mode no # 非保护模式可接受远程连接
daemonize yes  # 守护进程
# 在进行数据镜像备份时,是否启用rdb文件压缩手段,默认为yes。压缩可能需要额外的cpu开支,不过这能够有效的减小rdb文件的大,有利于存储/备份/传输/数据恢复
save 900 1
save 300 10
save 60 10000
rdbcompression yes
#镜像备份文件的文件名,默认为dump.rdb
dbfilename dump.rdb
# 开启持久化
appendonly yes
 
replica-read-only yes  #从节点只读
 
logfile  "/data/redis/redis.log"
dir "/data/redis" #存储路径
requirepass "密码" # master设置验证密码,所有客户端(包括slave)都需要验证 
masterauth "密码同上"
 
 
mkdir -p /data/redis #创建redis的工作目录
systemctl daemon-reload;systemctl enable --now redis.service #开启服务
ps -ef|grep redis

2.修改2个从节点配置文件

vim /usr/local/redis705/redis/redis.conf
# 以下是修改内容
bind 0.0.0.0   # 监听可用多路接口(多网卡主机)。也可以指定监听的 ip
port 6379
protected-mode no # 非保护模式可接受远程连接
daemonize yes  # 守护进程
# 在进行数据镜像备份时,是否启用rdb文件压缩手段,默认为yes。压缩可能需要额外的cpu开支,不过这能够有效的减小rdb文件的大,有利于存储/备份/传输/数据恢复
save 900 1
save 300 10
save 60 10000
rdbcompression yes
#镜像备份文件的文件名,默认为dump.rdb
dbfilename dump.rdb
# 开启持久化
appendonly yes
 
 
replica-read-only yes  #从节点只读
 
logfile  "/data/redis/redis.log"
dir "/data/redis" #存储路径
requirepass "密码" # 由于后面需要搭建容灾,即一个slava实例会切换为master,所以需要保留此配置
masterauth "密码同上" # slave登录master验证密码(即requirepass)
replicaof master_node_ip 6379 # 开放此配置则为slave,通过此配置的ip和port连接master,由master进行数据同步。所以两个slave都一样配置即可。
 
 
mkdir -p /data/redis #创建redis的工作目录
systemctl daemon-reload;redis.sesystemctl enable --now redis.service #开启服务
ps -ef|grep redis

3.验证主从效果

redis-cli   #登录redis
127.0.0.1:6379>auth 密码  #之前配置文件设置的密码
127.0.0.1:6379> info replication   #查看

三.配置哨兵

1.修改三台主机上哨兵配置文件

vim /usr/local/redis705/redis/sentinel.conf
# 以下是修改内容
protected-mode no
port 26379
daemonize yes
logfile "/data/redis/sentinel.log"
# 哨兵工作目录
dir "/usr/local/redis705/redis-7.0.5/sentinel"
# mymaster 是 master 名,然后是 master 的 ip 和 port,最后的 2 表示只要有 2 个 sentinel 认为 master 失联,那么客观上可以认为 master 失联
sentinel monitor mymaster master_node_ip 6379 2
# 对应 master 配置的 requirepass
sentinel auth-pass mymaster 密码   #这里是redis里面设置的密码
# master回应哨兵最大时间间隔,超时则认为 master下线
sentinel down-after-milliseconds mymaster 6000
# 限制在一次故障转移之后,每次向新的主节点发起复制操作的节点个数,越大效率越慢
sentinel parallel-syncs mymaster 1
# 在指定的时间内未能完成failover故障转移,则认为故障转移失败
sentinel failover-timeout mymaster 6000
 
 
mkdir -p /usr/local/redis705/redis-7.0.5/sentinel  #设置哨兵的工作目录
systemctl daemon-reload   #加载配置文件

2.启动所有节点的哨兵

#注意:先启主节点master,再启从节点slave
systemctl enable --now redis-sentinel.service  #开启哨兵服务
ps -ef|grep redis-sentinel

3.查看哨兵信息

redis-cli -p 26379 info Sentinel

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

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

相关文章

【35分钟掌握金融风控策略27】贷中风控策略与客户运营体系

目录 贷中风控策略与客户运营体系 贷中风控日标 贷中风控数据源 贷中风控策略与客户运营体系 贷中是风控的第二道防线,贷中阶段风控的重点工作就是存量客户风控及运营。在当下,新客市场趋于饱和且获客成本越来越高,所以,在做好…

webpack5基础和配置

初步体验webpack打包 webpack是一个静态资源打包工具。 它会以一个或多个文件作为打包的入口,将我们整个项目所有文件编译组合成一个或多个文件输出出去。 输出的文件就是编译好的文件,就可以在浏览器段运行了。 1.初始化最简单的一个目录文件&#xff…

SSM整合-前后端分离-实现增删改查 (下)

主流框架SSM 实现功能03-添加家居信息需求分析/图解思路分析代码实现注意事项和细节 实现功能04-显示家居信息需求分析/图解思路分析代码实现 实现功能05-修改家居信息需求分析/图解思路分析代码实现注意事项和细节 实现功能06-删除家居信息需求分析/图解思路分析代码实现课后作…

智慧安防监控EasyCVR视频汇聚管理平台视频播放花屏的原因分析及处理

智慧安防监控EasyCVR视频管理平台能在复杂的网络环境中,将前端设备统一集中接入与汇聚管理。国标GB28181协议视频监控/视频汇聚EasyCVR平台可以提供实时远程视频监控、视频录像、录像回放与存储、告警、语音对讲、云台控制、平台级联、磁盘阵列存储、视频集中存储、…

解决ubuntu 暂时不能解析域名“cn.archive.ubuntu.com”问题

问题描述 E: 无法下载 http://security.ubuntu.com/ubuntu/pool/main/c/curl/curl_7.68.0-1ubuntu2.22_amd64.deb 暂时不能解析域名“cn.archive.ubuntu.com” 解决方法 sudo service network-manager stopsudo rm /var/lib/NetworkManager/NetworkManager.statesudo servi…

探讨 cs2019 c++ 的STL 库中的模板 conjunction 与 disjunction

(1)在 STL 库源码中这俩模板经常出现,用来给源码编译中的条件选择,模板的版本选择等提供依据。先给出其定义: 以及: 可以得出结论: conj 是为了查找逻辑布尔型模板参数中的第一个 false &#x…

2024CKE中国婴童展

举办地点:上海新国际博览中心 举办时间:2024年10月16-18日 同期展会:CTE中国玩具展、CPE中国幼教展、CLE中国授权展 展会规模:230,000平米 展商数量:2,500 参展品牌:5,212 …

hadoop大数据的一些知识点--Map reduce编程

实验4 MapReduce编程(2) 本实验的知识地图如图4-1所示( 表示重点 表示难点)。 图4-1 实验4MapReduce编程(2)知识地图 一、实验目的 1. 理解YARN体系架构。 2. 熟练掌握YARN Web UI界面的使用。 3. 掌握YARN Shell常用命令的使用。 4. 了解YARN编程之…

最新版Ceph( Reef版本) nfs导出

1 创建一个nfs集群 ceph nfs cluster create <cluster_id> [<placement>]# ceph nfs cluster create mycluster ceph-nfs-server 2. 在ceph-164,ceph-165 host建立一个高可用的nfs # ceph nfs cluster create mycluster --placementceph-164,ceph-1653. 导出nfs集群…

API低代码平台介绍3-异构数据源的数据查询功能

异构数据源的数据查询功能 在上一篇文章中我们通过API平台定义了一个最基本的数据查询接口&#xff0c;本篇文章我们将上升难度&#xff0c;在原有接口的基础上&#xff0c;实现在MySQL数据库和Oracle数据库同时进行数据查询。   什么场景会需要同时对异构数据源进行查询&…

Java——封装

要想搞明白封装&#xff0c;首先要清楚什么是 包 包的概念&#xff1a; 在面向对象的体系中&#xff0c;提出了一个软件包的概念&#xff0c;即&#xff1a;为了更好的管理类&#xff0c;把多个类收集在一起称为一组&#xff0c;称为软件包。 包的作用&#xff1a; 1、一个…

“打工搬砖记”中吃什么的轮盘功能实现(二)

文章目录 打工搬砖记转盘主要的逻辑实现转盘的素材小结 打工搬砖记 先来一个吃什么轮盘的预览图&#xff0c;这轮盘文案加字呈圆形铺出来&#xff0c;开始后旋转到指定的选项处停下来。 已上线小程序“打工人搬砖记”&#xff0c;可以扫码进行预览观看。 转盘主要的逻辑实现…

springMVC基础使用(示例)

maven依赖&#xff08;javax.servlet-api版本与spring-webmvc班恩要匹配不然会报java.lang.NoSuchMethodError: javax.servlet.http.HttpServletRespons&#xff09;&#xff1a; <dependencies><dependency><groupId>javax.servlet</groupId><arti…

Java面试题:ConcurrentHashMap

ConcurrentHashMap 一种线程安全的高效Map集合 jdk1.7之前 底层采用分段的数组链表实现 一个不可扩容的数组:segment[] 数组中的每个元素都对应一个HashEntry数组用以存放数据 当放入数据时,根据key的哈希值找到对应的segment数组下标 找到下标后就会添加一个reentrantlo…

Open AI再次定义AI PC?

从传统的文字交互&#xff0c;到语音和图像交互——Open AI再次提升了人们对AI PC的想象空间。 这种更贴近人类间交互的模式&#xff0c;会多大程度改变目前PC的生态&#xff1f; 随着苹果M4芯片、高通骁龙X的发布&#xff0c;AI PC也逐渐成为了市场热议的产品。 从各家PC厂…

OpenAI 深夜发布 GPT-4o,完全免费,强到让人恐怖,这还是AI?!又一批人将面临失业...

文章首发于公众号&#xff1a;X小鹿AI副业 大家好&#xff0c;我是程序员X小鹿&#xff0c;前互联网大厂程序员&#xff0c;自由职业2年&#xff0c;也一名 AIGC 爱好者&#xff0c;持续分享更多前沿的「AI 工具」和「AI副业玩法」&#xff0c;欢迎一起交流~ 看了 OpenAI 最新的…

算法-卡尔曼滤波之卡尔曼滤波的其他三个方程

一维不带噪声的卡尔曼滤波方程有五个&#xff0c;下面分析剩余的三个方程&#xff1a; 分析第一个例子&#xff0c;其中测量值和真实值之间的误差属于测量误差&#xff08;使用准确性来描述&#xff09;&#xff0c;由于测量误差是随机的&#xff0c;我们可以使用方差来描述&am…

电力物联网-(2)系统设计

电力物联网系统设计 前言 在此之前写过《电力物联网系统设计》开篇文章&#xff0c;上一篇文章主要的概述性的内容&#xff0c;发表之后总觉得对电力物联网系统设计这一方面还只是开了一个头&#xff0c;没有把相关的内容讲解清楚&#xff0c;于是经过一段时间的构思终于产出了…

DTAS 尺寸公差分析及尺寸链计算-建模神器 — 用户DIY装配

工业互联网&#xff08;工业4.0) 是未来智能制造的核心&#xff0c;工业软件是智能制造的灵魂。 相关工业软件及系统的自主研发是智能制造和质量升级转型亟需解决的卡脖子环节&#xff0c;而公差分析软件系统是前期质量研发精准设计、降本增效的关键。 数字化时代&#xff0…

【windows小知识#1】ISO镜像,OEM、Retail这些到底是什么意思

汇总一下每个版本windows会衍生哪些镜像出来&#xff0c;以windows7为例 这些文件名代表的是不同版本和不同语言的Windows 7操作系统的安装光盘映像&#xff08;ISO文件&#xff09;。这些文件主要区分为以下几个方面&#xff1a; 语言&#xff1a;这些文件都是中文版&#x…