手摸手Redis7配置哨兵模式(一主二从三哨兵)

news2024/12/1 0:38:08

安装redis

#安装gcc 
yum -y install gcc gcc-c++
#安装net-tools
yum -y install net-tools
#官网https://redis.io/
cd /opt/
wget http://download.redis.io/releases/redis-7.0.4.tar.gz
解压至/opt/目录下
tar -zxvf redis-7.0.4.tar.gz -C /opt/

#编译安装
make
make install

INSTALL redis-server
INSTALL redis-benchmark
INSTALL redis-cli

//启动redis 
redis-server 或 nohup redis-server &
//配置后台启动
redis-server /opt/redis/redis.conf
//停止redis
redis-cli shutdown

#daemonize配置该为yes
vim redis.conf

#配置redis开机自启
vim /etc/systemd/system/redis.service

[Unit]
Description=redis-server
After=network.target
[Service]
Type=forking
ExecStart=/opt/redis/src/redis-server /opt/redis/redis.conf
PrivateTmp=true
[Install]
WantedBy=multi-user.target
//重载系统服务
systemctl daemon-reload
systemctl start redis
systemctl status redis
systemctl restart redis
//开机自启
systemctl enable redis

#修改配置密码(根据个人需求修改密码)
find / -name redis.conf
vim redis.conf

#创建 redis 命令软链接
find / -name redis-cli
ln -s /usr/local/bin/redis-cli /usr/bin/redis
redis
//登录redis
redis-cli
auth 密码

redis-cli -h 127.0.0.1 -p 6379
redis-cli -h 127.0.0.1 -p 6379 -a 密码
redis-cli -a 密码

#查看所有6379端口使用情况
netstat -ntulp |grep 6379
netstat -ntulp |grep redis

连接配置

vim /opt/redis/redis.conf

注释 bind

#注释 
#bind 127.0.0.1 -::1  //bind 127.0.0.1 -::1表示只本机使用 ,注释后表示任意连接

关闭保护模式(自己访问自己)

命令重命名

flushall与flushdb根据项目情况使用

flushall删除所有

flushdb删除当前数据库

rename-command flushall "" #表示flushall不能使用 
rename-command flushdb ""

Redis客户端

命令行客户端

redis-cli -h 127.0.0.1 -p 6379
redis-cli -h 127.0.0.1 -p 6379 -a 密码

图形化桌面客户端

8.8版本后商业化收费

RedisDesktopManager

官网:https://resp.app/

GitHub - RedisInsight/RedisDesktopManager

链接:https://pan.baidu.com/s/1y3cdOqS1E2UIGW22nr9zNQ?pwd=QGS1 
提取码:QGS1

RedisPlus

RedisPlus: RedisPlus是为Redis可视化管理开发的一款开源免费的桌面客户端软件,支持Windows 、Linux 、Mac三大系统平台,RedisPlus提供更加高效、方便、快捷的使用体验,有着更加现代化的用户界面风格。

RedisDesktopManager-Windows

Releases · lework/RedisDesktopManager-Windows · GitHub

Redis主从集群搭建

Redis的主从集群是一个“一主多从”的读写分离集群。集群中的 Master节点负责处理客户端的读写请求,而 Slave节点仅能处理客户端的读请求。只所以要将集群搭建为读写分离模式,主要原因是,对于数据库集群,写操作压力一般都较小,压力大多数来自于读操作请求。所以,只有一个节点负责处理写操作请求即可。

要搭建主从集群,且每个主机都有可能会是 Master,所以最好不要设置密码验证属性 requirepass如果真需要设置,一定要每个主机的密码都设置为相同的。此时每配置文件中都要设置两个完全相同的属性: requirepass与 masterauth。其中 requirepass用于指定当前主机的访问密码,而 masterauth用于指定当前save访问 master时向 master提交的访问密码,用于让 master验证自己身份是否合法

repl-disable-tcp-nodelay no         

该属性用于设置是否禁用TCP特性tcp-nodelay。设置为yes则禁用tcp- nodelay,此时master与 slave间的通信会产生延迟,但使用的TCP包数量会较少,占用的网络带宽会较小相反,如果设置为no,则网络延迟会变小,但使用的TCP包数量会较多,相应占用的网络带宽会大

tcp-nodelay:为了充分复用网络带宽,TCP总是希望发送尽可能大的数据块。

主从的redis.conf配置是一样的
从机多了一个  slaveof 主机ip 端口

或者进入redis配置
两台从机
#从主机向master发送slaveof IP port  表示作为他的从机
slaveof 127.0.0.1 6379

info replication

slaveof 127.0.0.1 6379

从主机向master发送slaveof IP port  表示作为他的从机

info replication

哨兵模式

哨兵是一个分布式系统,用于对主从结构中的每台服务器进行监控,当出现故障时通过投票机制选择新的master并将所有slave连接到新的master

每台redis都启动一个哨兵,或者一台虚拟机启动三台哨兵需分配不同端口

新建哨兵空间路径文件

Mkdir -p/opt/sentinel/data

Master

过滤sentinel.conf文件

cat sentinel.conf | grep -v "#" | grep -v "^$"

将过滤的sentinel.conf文件信息新建并加入新文件

cat sentinel.conf | grep -v "#" | grep -v "^$" > /opt/sentinel/sentinel.conf

#sentinel.conf配置文件说明

#哨兵默认端口
port 26379
daemonize no
pidfile "/var/run/redis-sentinel.pid"
logfile "/opt/sentinel/6381.log"
dir "/opt/sentinel/data"
# 2表示配置哨兵,有2个哨兵作出同样的决策,才有决策权
sentinel monitor mymaster 127.0.0.1 6381 2
# master被sentinel认定为失效的间隔时间
sentinel down-after-millisebcodes mymaster 30000
# 剩余的slaves重新和新的master做同步的并行个数
sentinel parallel-syncs mymaster 1
# 主备切换的超时时间,哨兵要去做故障转移,这个时候哨兵也是一个进程,如果他没有去执行,超过这个时间后,会由其他的哨兵来处理
sentinel failover-timeout mymaster 180000
#配置文件
port 26379
daemonize no
pidfile "/var/run/redis-sentinel.pid"
logfile "/opt/sentinel/6380.log"
dir "/opt/sentinel/data"
sentinel monitor mymaster 116.205.131.136 6380 2
sentinel down-after-milliseconds mymaster 30000
sentinel parallel-syncs mymaster 1
sentinel failover-timeout mymaster 180000
bind 0.0.0.0
#启动
redis-sentinel /opt/sentinel/sentinel.conf
ps -ef | grep redis

转移成功后的sentinel.conf文件

Redis(Remote Dictionary Server ),即远程字典服务,是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。

Redis是一个NoSQL数据库,常用缓存(cache)

Redis数据类型:string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型)

Redis是一个中间件

同步数据(实时性同步数据、阶段性同步数据)

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

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

相关文章

解决“本地计算机上的 mysql 服务启动后停止,某些服务在未由其他服务或程序使用时将自动停止”

电脑在服务中启动mysql报 如果你之前没有修改过数据库相关文件那么执行以下步骤 1.在数据库的根目录删除data文件(删除前最好先备份一下) 2,然后重新创建一个data文件夹 3.点击进入bin目录,点击上面的路径 4.点击后上面路径变蓝…

MATLAB——BP神经网络信号拟合程序

欢迎关注公众号“电击小子程高兴的MATLAB小屋” %% 学习目标:BP神经网络 %% 函数逼近 数据压缩 模式识别 %% 考虑要素:网络层数 输入层的节点数 输出层的节点数 隐含层的节点数 %% 传输函数 训练方法 %% 对信号曲线进行拟合 clear all; cle…

04_led灯闪烁

创建新的项目&#xff0c;步骤和教程2一样&#xff0c;项目结构和创建后的代码如下所示 具体代码如下所示&#xff1a;使用16进制加延迟的方式控制led的亮灭0表示亮1表示灭 #include <REGX52.H> #include <INTRINS.H> void Delay500ms() //11.0592MHz {unsigne…

网页在线打开PDF_网站中在线查看PDF之pdf.js

一、pdf.js简介 PDF.js 是一个使用 HTML5 构建的便携式文档格式查看器。 pdf.js 是社区驱动的&#xff0c;并由 Mozilla 支持。我们的目标是为解析和呈现 PDF 创建一个通用的、基于 Web 标准的平台。 pdf.js 将 PDF 文档转换为 HTML5 Canvas 元素&#xff0c;并使用 JavaScr…

ASAN地址消毒+GCOV覆盖率分析

安全之安全(security)博客目录导读 覆盖率分析汇总 目录 一、代码示例 二、代码编译及运行 三、ASAN地址消毒&#xff08;找到溢出&泄露点&#xff09; 四、GCOV覆盖率分析 ASAN相关详见ASAN(AddressSanitizer)地址消毒动态代码分析 GCOV相关详见GCOV覆盖率分析 现…

Doris入门了解

微信公众号&#xff1a;大数据高性能计算 大数据存储与分析入门学习文档&#xff1a;深入了解 Doris 大数据技术已成为现代数据处理的核心组成部分&#xff0c;为企业提供了更多洞察和决策支持。Doris&#xff08;以前称为Palo&#xff09;是一种用于大规模数据存储和分析的开…

【LeetCode刷题(数据结构与算法)】:完全二叉树的节点个数

完全二叉树 的定义如下&#xff1a;在完全二叉树中&#xff0c;除了最底层节点可能没填满外&#xff0c;其余每层节点数都达到最大值&#xff0c;并且最下面一层的节点都集中在该层最左边的若干位置。若最底层为第 h 层&#xff0c;则该层包含 1~ 2h 个节点 输入&#xff1a;r…

Megatron-LM GPT 源码分析(二) Sequence Parallel分析

引用 本文基于开源代码 https://github.com/NVIDIA/Megatron-LM &#xff0c;延续上一篇Megatron-LM GPT 源码分析&#xff08;一&#xff09; Tensor Parallel分析 通过对GPT的模型运行示例&#xff0c;从三个维度 - 模型结构、代码运行、代码逻辑说明 对其源码做深入的分析。…

Spring framework Day15:@lmport注解使用

前言 在编程中&#xff0c;import注解通常用于导入外部的类、接口或其他资源&#xff0c;以便在当前代码文件中使用。它可以提供一种简洁、方便的方式来引入外部依赖&#xff0c;并且有以下几个主要的应用场景和好处&#xff1a; 引入外部类/接口&#xff1a;使用import注解可…

2023年最受好评的五款项目计划工具排名揭晓!

近年来&#xff0c;项目计划工具已经成为项目管理中不可或缺的一部分。正确的项目计划工具将帮助您更有效地管理项目&#xff0c;从而改善结果。随着技术的进步&#xff0c;现在有许多强大而通用的项目计划工具可用。展望2023年&#xff0c;以下是你应该考虑的深受好评的五款项…

如何在Linux上安装Tomcat

安装Tomcat的前提是安装好JDK 使用yum安装JDK Liunx的包管理器就如同手机上的应用商城一样&#xff0c;可以在其中下载软件 Linux中的包管理器有很多&#xff1a;yum、apt、pacman...其中yum是centos自带的包管理器 获取与jdk有关的数据包 请注意&#xff1a;i686后缀的为32位操…

DarkGate恶意软件通过消息服务传播

导语 近日&#xff0c;一种名为DarkGate的恶意软件通过消息服务平台如Skype和Microsoft Teams进行传播。它冒充PDF文件&#xff0c;利用用户的好奇心诱使其打开&#xff0c;进而下载并执行恶意代码。这种攻击手段使用了Visual Basic for Applications&#xff08;VBA&#xff0…

总结10.15

项目进展 登陆注册&#xff0c;连接了数据库&#xff0c;找回密码写到了通过给邮箱发送验证码&#xff0c;然后重新输入密码 项目看法 之后俩天加紧把这个登陆注册这些搞完&#xff0c;注册用到的随机生成一个账号且不重复&#xff0c;且设置一个邮箱作为之后找回密码时候的…

realman——基于SDK的pick_and_place

文章目录 概要手眼标定外参发布采摘流程核心代码设定初始位置设定安放位置坐标变换单次采摘和安放预采摘点的计算预采摘点和采摘点的运动控制参考概要 这篇博客主要介绍用官方SDK来实现睿尔曼机械臂的运动控制(从采摘到安放),对于如何获取采摘点的三维坐标不做描述。 PS:m…

Vue-3.3ESLint

ESLint代码规范 代码规范&#xff1a;一套写代码的约定规则。 JavaScript Standard Style规范说明https://standardjs.com/rules-zhcn.html 代码规范错误 如果你的代码不符合standard的要求&#xff0c;ESlint会跳出来提醒。 比如&#xff1a;在mian.js中随意做一些改动&a…

【AI视野·今日Sound 声学论文速览 第二十三期】Wed, 11 Oct 2023

AI视野今日CS.Sound 声学论文速览 Wed, 11 Oct 2023 Totally 14 papers &#x1f449;上期速览✈更多精彩请移步主页 Daily Sound Papers AutoCycle-VC: Towards Bottleneck-Independent Zero-Shot Cross-Lingual Voice Conversion Authors Haeyun Choi, Jio Gim, Yuho Lee, Y…

【mysql】Mysql自定义变量 @rownum使用

Mysql自定义变量 rownum 这个可以赋值&#xff1f;这是初始化&#xff1f; 先看表结构 有五条数据。执行前半段语句发现。rownum的起始值等于行数 这里from后面可以加person与 r这连个组成 如果这里的rownum打错了呢。发现这个变量就没有初始值。 可见&#xff0c;没有必要…

C++指针解读(6)-- 指针和字符串

1、字符串的基本概念 &#xff08;1&#xff09;字符串的存储 字符串是存放在字符数组中的。比如字符串“hello”&#xff0c;在内存中是这么存放的&#xff1a; 这里要注意&#xff0c;在字符串的最后会加上一个\0&#xff0c;也被称为NUL字符&#xff0c;表示字符串的结束位…

【算法训练-排序算法 三】【排序应用】合并区间

废话不多说&#xff0c;喊一句号子鼓励自己&#xff1a;程序员永不失业&#xff0c;程序员走向架构&#xff01;本篇Blog的主题是【合并区间】&#xff0c;使用【数组】这个基本的数据结构来实现&#xff0c;这个高频题的站点是&#xff1a;CodeTop&#xff0c;筛选条件为&…

闪电藤文件传输助手上线

官网 临时官网&#xff1a;https://lightningvine.zishu.life/ 正式官网&#xff08;备案中&#xff09;&#xff1a;lightningvine.cn 简介 闪电藤是基于LocalSend二次开发的一款局域网文件传输工具&#xff0c;完全兼容LocalSend&#xff0c;在它的基础上进行UI交互的重新设计…