当前位置: 首页 > article >正文

《Linux运维总结:基于银河麒麟V10+ARM64架构CPU部署redis 6.2.14 TLS/SSL哨兵集群》

总结:整理不易,如果对你有帮助,可否点赞关注一下?

更多详细内容请参考:《Linux运维篇:Linux系统运维指南》


一、简介

Redis 哨兵模式是一种高可用性解决方案,它通过监控 Redis 主从架构,自动执行故障转移,从而确保服务的连续性。哨兵模式的核心组件包括哨兵(Sentinel)节点、主节点(Master)和从节点(Slave)。
在这里插入图片描述

哨兵其实就是一个运行在特殊模式下的 Redis 进程,主从节点实例运行的同时,它也在运行。哨兵主要负责的就是三个任务: 监控、选择主节点、通知

在这里插入图片描述

1、监控:指哨兵进程在运行时,会周期性地给所有的主从节点发送 PING 命令,检测它们是否仍在运行。如果从节点没有在规定时间内响应哨兵的 PING 命令,哨兵就会把它标记为 “下线状态”;同样,如果主节点也没有在规定时间内响应哨兵的 PING 命令,哨兵就会判定主节点下线,然后开始自动选择新的主节点。

2、选择主节点:主节点挂了以后,哨兵就需要从很多个从节点里,按照一定的规则选择一个从节点实例,把它作为新的主节点。这一步完成后,现在的集群里就有了新的主节点。

3、通知:在执行通知任务时,哨兵会把新主节点的连接信息发给其他从节点,让它们执行 replicaof 命令,和新主节点建立连接,并进行数据复制。同时,哨兵会把新主节点的连接信息通知给客户端,让它们把请求操作发到新主节点上。


二、部署说明

主机IP 主机名 操作系统 内核版本 redis版本 服务启动用户
192.168.1.111 redis-master Kylin Linux Advanced Server V10 (Tercel) 4.19.90-17.5.ky10.aarch64 6.2.14 redis
192.168.1.112 redis-slave Kylin Linux Advanced Server V10 (Tercel) 4.19.90-17.5.ky10.aarch64 6.2.14 redis
192.168.1.113 redis-sentinel Kylin Linux Advanced Server V10 (Tercel) 4.19.90-17.5.ky10.aarch64 6.2.14 redis

三、安装前准备

3.1、配置主机名

1、master节点

[root@ecs-1580 ~]# hostnamectl set-hostname redis-master && bash

2、slave节点

[root@ecs-1581 ~]# hostnamectl set-hostname redis-slave && bash

3、sentinel节点

[root@ecs-1582 ~]# hostnamectl set-hostname redis-sentinel && bash

3.2、配置hosts解析

说明:以下操作需要在redis哨兵集群各个节点上执行。

vim /etc/hosts
192.168.1.111   redis-master
192.168.1.112   redis-slave
192.168.1.113   redis-sentinel

3.3、创建启动用户

说明:以下操作需要在redis哨兵集群各个节点上执行。

groupadd --gid 1301 redis
useradd -u 1301 -g 1301 -d /home/redis -s /usr/sbin/nologin -m redis

3.4、系统参数配置

说明:以下操作需要在redis哨兵集群各个节点上执行。

1、修改内存分配参数

echo "vm.overcommit_memory = 1" >>/etc/sysctl.conf 
sysctl -p

2、修改文件描述符

vim /etc/security/limits.conf
redis soft nofile 100000
redis hard nofile 100000

3.5、创建相关目录

1、master节点


http://www.kler.cn/a/388215.html

相关文章:

  • 「IDE」集成开发环境专栏目录大纲
  • 前端入门一之ES6--面向对象、够着函数和原型、继承、ES5新增方法、函数进阶、严格模式、高阶函数、闭包
  • Unity 网格模型及优化
  • ARXML汽车可扩展标记性语言规范讲解
  • 【Python】轻松解析JSON与XML:Python标准库的json与xml模块
  • Spring Boot 的核心注解
  • Ubuntu学习笔记 - Day3
  • excel常用技能
  • C++ | 表示移动函数move()的基本用法
  • 【Golang】Go语言教程
  • 【leetcode练习·二叉树】用「分解问题」思维解题 I
  • mysql 配置文件 my.cnf 增加 lower_case_table_names = 1 服务启动不了
  • 【前端】JavaScript 方法速查大全-DOM、BOM、时间、处理JS原生问题(三)
  • C++学习笔记----11、模块、头文件及各种主题(一)---- 模板概览与类模板(1)
  • python opencv灰度变换
  • Docker部署Oracle 11g
  • selinux与防火墙
  • 【1】虚拟机安装
  • 开源模型应用落地-glm模型小试-glm-4-9b-chat-vLLM集成(四)
  • 快速傅里叶变换(FFT)基础(附python实现)
  • Go语言异常处理
  • Windows配置NTP时间同步
  • Docker:镜像构建 DockerFile
  • Spring 配置绑定原理分析
  • 安全编码实践:反射API的“间谍游戏”
  • java-web-web后端知识小结