redis部署手册

文章目录

  • 一、 环境配置
    • 资源配置
      • 操作系统
      • 资源配置
        • 服务器1
        • 服务器2
        • 服务器3
    • 目录规划
  • 二、Redis软件部署
    • 2.1 上传相关软件包
    • 2.2 安装软件
    • 2.3 修改配置文件
      • 2.3.1 修改redis.conf
      • 2.3.2 修改sentinel.conf
      • 2.3.3 启动
      • 2.3.4 安装完成
  • 三、Redis的哨兵恢复
    • 3.1 现象
    • 3.2 解决方法

一、 环境配置

资源配置

操作系统

18.04.6 LTS (Bionic Beaver)

资源配置

服务器1

CPU: 4核

内存: 4 GB

磁盘: 100 GB sda[系统盘] 50GB, 默认分区

sdc[数据盘] 50GB 挂载点 /dcdata

备注:数据盘需支持扩展

服务器2

CPU: 4核

内存: 4 GB

磁盘: 100 GB sda[系统盘] 50GB, 默认分区

sdc[数据盘] 50GB 挂载点 /dcdata

备注:数据盘需支持扩展

服务器3

CPU: 4核

内存: 4 GB

磁盘: 100 GB sda[系统盘] 50GB, 默认分区

sdc[数据盘] 50GB 挂载点 /dcdata

备注:数据盘需支持扩展

备注:数据盘需支持扩展

备注:redis存储根据业务数据量来看服务器的配置。

目录规划

二、Redis软件部署

2.1 上传相关软件包

此安装包为针对ubuntu18.04.6版本的镜像源,相关的deb文件。也可通过安装

build-essential和pkg-config 工具来编译安装redis。

redis安装依赖包

三台机器均上传该文件包

2.2 安装软件

dpkg -i *.deb

2.3 修改配置文件

2.3.1 修改redis.conf

bind 0.0.0.0
protected-mode yes
port 6379
tcp-backlog 511
timeout 0
tcp-keepalive 300
daemonize yes
supervised no
pidfile "/var/run/redis/redis-server.pid"
loglevel notice
logfile "/var/log/redis/redis-server.log"
databases 16
always-show-logo yes
save 900 1
save 300 10
save 60 10000
stop-writes-on-bgsave-error yes
rdbcompression yes
rdbchecksum yes
dbfilename "dump.rdb"
dir "/var/lib/redis"
masterauth "redis"
slave-serve-stale-data yes
slave-read-only yes
repl-diskless-sync no
repl-diskless-sync-delay 5
repl-disable-tcp-nodelay no
slave-priority 100
requirepass "redis"
lazyfree-lazy-eviction no
lazyfree-lazy-expire no
lazyfree-lazy-server-del no
slave-lazy-flush no
appendonly no
appendfilename "appendonly.aof"
appendfsync everysec
no-appendfsync-on-rewrite no
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb
aof-load-truncated yes
aof-use-rdb-preamble no
lua-time-limit 5000
slowlog-log-slower-than 10000
slowlog-max-len 128
latency-monitor-threshold 0
notify-keyspace-events ""
hash-max-ziplist-entries 512
hash-max-ziplist-value 64
list-max-ziplist-size -2
list-compress-depth 0
set-max-intset-entries 512
zset-max-ziplist-entries 128
zset-max-ziplist-value 64
hll-sparse-max-bytes 3000
activerehashing yes
client-output-buffer-limit normal 0 0 0
client-output-buffer-limit slave 256mb 64mb 60
client-output-buffer-limit pubsub 32mb 8mb 60
hz 10
aof-rewrite-incremental-fsync yes

修改以下配置项

.

2.3.2 修改sentinel.conf

daemonize yes
pidfile "/var/run/sentinel/redis-sentinel.pid"
logfile "/var/log/redis/redis-sentinel.log"

protected-mode no

port 26379

dir "/var/lib/redis"

sentinel myid e5ddbb49c8b2eb9374ace273800135b8fd1bf6f0

sentinel monitor redismaster 10.255.131.11 6379 2

sentinel auth-pass redismaster redis

sentinel config-epoch redismaster 1

sentinel leader-epoch redismaster 1

sentinel down-after-milliseconds redismaster 3

2.3.3 启动

systemctl start redis

systemctl start redis-sentinel

2.3.4 安装完成

手动kill掉12上的redis进程; 3秒后切换

三、Redis的哨兵恢复

3.1 现象

哨兵脑裂;通过 redis-cli 查看主从与查看redis-sentinel 里面的配置信息不一致;

INFO replication

哨兵中的主节点为 cat /etc/redis/sentinel.conf

3.2 解决方法

  1. 找出拥有最新数据的节点,手动设置为主节点

slaveof no one

其他节点设置同步的主节点

SLAVEOF 10.255.131.11 6379

  1. 手动修改 /etc/redis/sentinel.conf 文件;使各节点的主节点都保持一致; 以及修改下方的从节点信息,每个节点都有自己的myid;不要弄错了。

修改后再重启下sentinel即可;

systemctl restart sentinel
拥有最新数据的节点,手动设置为主节点

slaveof no one

其他节点设置同步的主节点

SLAVEOF 10.255.131.11 6379

  1. 手动修改 /etc/redis/sentinel.conf 文件;使各节点的主节点都保持一致; 以及修改下方的从节点信息,每个节点都有自己的myid;不要弄错了。

修改后再重启下sentinel即可;

systemctl restart sentinel

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

SD-WAN分布式组网:构建高效、灵活的企业网络架构

随着企业数字化转型的深入,分布式组网逐渐成为企业网络架构中的核心需求。无论是跨区域的分支机构互联,还是企业与云服务的连接,如何在不同区域实现高效、低延迟的网络传输,已成为业务成功的关键。SD-WAN(软件定义广域…

#PCIE#基础知识分解之 CC/SRNS/SRIS 时钟架构

参考资料为PCIe Base Spec和CEM Spec。 1.1 时钟架构分类 PCIe参考时钟的三种架构: Common Refclk (Shared Refclk) ArchitectureData Clocked Rx ArchitectureSeparate Refclk Architecture 下面,我们来简单地聊一聊前面说到的三种参考时钟架构&…

开源一款前后端分离的企业级网站内容管理系统,支持站群管理、多平台静态化,多语言、全文检索的源码

大家好,我是一颗甜苞谷,今天分享一款前后端分离的企业级网站内容管理系统,支持站群管理、多平台静态化,多语言、全文检索的源码。 前言 在当今的数字化时代,企业网站和个人博客已成为信息传播和品牌建设的重要渠道。…

Linux系统基础-多线程超详细讲解(2)_线程控制

个人主页:C忠实粉丝 欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 C忠实粉丝 原创 Linux系统基础-多线程超详细讲解(2)_线程控制 收录于专栏[Linux学习] 本专栏旨在分享学习Linux的一点学习笔记,欢迎大家在评论区交流讨论&#x1f4…

「C/C++」C/C++ 之 判断语句

✨博客主页何曾参静谧的博客📌文章专栏「C/C」C/C程序设计📚全部专栏「VS」Visual Studio「C/C」C/C程序设计「UG/NX」BlockUI集合「Win」Windows程序设计「DSA」数据结构与算法「UG/NX」NX二次开发「QT」QT5程序设计「File」数据文件格式「PK」Parasoli…

2024年10月HarmonyOS应用开发者基础认证全新题库

注意事项:切记在考试之外的设备上打开题库进行搜索,防止切屏三次考试自动结束,题目是乱序,每次考试,选项的顺序都不同 这是基础认证题库,不是高级认证题库注意看清楚标题 高级认证题库地址:20…

go语言进阶之并发基础

并发 什么是并发,也就是我们常说的多线程,多个程序同时执行。 并发的基础 线程和进程 进程 进程是操作系统中一个重要的概念,指的是一个正在运行的程序的实例。它包含程序代码、当前活动的状态、变量、程序计数器和内存等资源。进程是系…

迷你航拍高清智能无人机技术详解

迷你航拍高清智能无人机技术是一种结合了高清影像拍摄、智能控制、稳定悬停以及便携性等特点的无人机技术。以下是对该技术的详细解析: 一、技术特点 1. 高清影像拍摄: 高分辨率传感器:迷你航拍无人机通常搭载高分辨率的相机传感器&#xf…

macOS Sonoma 14.7.1 (23H222) Boot ISO 原版可引导镜像下载

macOS Sonoma 14.7.1 (23H222) Boot ISO 原版可引导镜像下载 2024 年 10 月 28 日,Apple 智能今日登陆 iPhone、iPad 和 Mac。用户现可借助 Apple 智能优化写作,为通知、邮件和消息生成摘要,体验交互更自然、功能更丰富的 Siri,使…

QT交互界面:实现按钮运行脚本程序

一.所需运行的脚本 本篇采用上一篇文章的脚本为运行对象,实现按钮运行脚本 上一篇文章:从0到1:QT项目在Linux下生成可以双击运用的程序(采用脚本)-CSDN博客 二.调用脚本的代码 widget.cpp中添加以下代码 #include &…

玄机-流量特征分析-常见攻击事件 tomcat

简介 在web服务器上发现的可疑活动,流量分析会显示很多请求,这表明存在恶意的扫描行为,通过分析扫描的行为后提交攻击者IP flag格式:flag{ip},如:flag{127.0.0.1} 找到攻击者IP后请通过技术手段确定其所在地址 flag格式: flag{城市英文小写…

一篇文章入门傅里叶变换

文章目录 傅里叶变换欧拉公式傅里叶变换绕圈记录法质心记录法傅里叶变换公式第一步:旋转的表示第二步:缠绕的表示第三步:质心的表示最终步:整理积分限和系数 参考文献 傅里叶变换 在学习傅里叶变换之前,我们先来了解一…

基于vue框架的的汇生活家居商城的设计与实现bdjlq(程序+源码+数据库+调试部署+开发环境)系统界面在最后面。

系统程序文件列表 项目功能:商品分类,商品信息,用户 开题报告内容 开题报告 项目名称:基于Vue框架的汇生活家居商城的设计与实现 一、项目背景与意义 随着互联网技术的不断发展和普及,电子商务已成为现代商业的重要组成部分。家居商城作…

《高频电子线路》 —— 高频小信号放大器的分类和质量指标

文章内容来源于【中国大学MOOC 华中科技大学通信(高频)电子线路精品公开课】,此篇文章仅作为笔记分享。 高频小信号放大器的分类和质量指标 分类 质量指标 增益 通频带 可以表示为一般情况下的电压放大倍数,除以谐振时候的电压放…

江协科技STM32学习- P24 DMA数据转运DMA+AD多通道

🚀write in front🚀 🔎大家好,我是黄桃罐头,希望你看完之后,能对你有所帮助,不足请指正!共同学习交流 🎁欢迎各位→点赞👍 收藏⭐️ 留言📝​…

Unity Newtonsoft.Json 大对象序列化失败

Unity Newtonsoft.Json 大对象序列化失败 💣崩溃了没?😀替代方案 💣崩溃了没? Newtonsoft.Json.JsonTextWriter:WriteValueInternal(string,Newtonsoft.Json.JsonToken) InvalidCastException: Specified cast is not…

Xcode 16.1 (16B40) 发布下载 - Apple 平台 IDE

Xcode 16.1 (16B40) 发布下载 - Apple 平台 IDE IDE for iOS/iPadOS/macOS/watchOS/tvOS/visonOS 发布日期:2024 年 10 月 28 日 Xcode 16.1 包含适用于 iOS 18.1、iPadOS 18.1、Apple tvOS 18.1、watchOS 11.1、macOS Sequoia 15.1 和 visionOS 2.1 的 SDK。Xco…

噩梦开始 -- 力扣83

噩梦开始了 描述: 给定一个已排序的链表的头 head , 删除所有重复的元素,使每个元素只出现一次 。返回 已排序的链表 。 示例: 何解? 1、暴力枚举: 遍历一遍,用双指针遍历,一个数序…

分布式搜索引擎elasticsearch操作文档操作介绍

1.DSL查询文档 elasticsearch的查询依然是基于JSON风格的DSL来实现的。 1.1.DSL查询分类 Elasticsearch提供了基于JSON的DSL(Domain Specific Language)来定义查询。常见的查询类型包括: 查询所有:查询出所有数据,…

浏览器HTTP缓存解读(HTTP Status:200 304)

为什么要有浏览器缓存? 浏览器缓存(Brower Caching)是浏览器对之前请求过的文件进行缓存,以便下一次访问时重复使用,节省带宽,提高访问速度,降低服务器压力 http缓存机制主要在http响应头中设定,响应头中…