centos7.9搭建redis6.0.6哨兵模式

news2024/11/24 13:39:16

redis6.0.6哨兵模式搭建文档

  • 1.准备工作
    • 1.1 ip规划
    • 安装依赖(三台机器都操作)
    • 1.3 gcc升级(三台机器都操作)
  • 2.安装redis(三台机器都操作)
    • 2.1 获取安装包
    • 2.2 解压
    • 2.3 编译
    • 2.4 验证上一步是否正确
    • 2.5 安装
    • 2.6 拷贝配置文件到安装目录
    • 2.7 修改配置文件
    • 2.8 修改slave1和slave2的配置文件(注:只在只读节点执行)
    • 2.9 启动redis(三台全启动,先启动master)
    • 2.10 验证主从模式
  • 3.部署哨兵(三台操作)
    • 3.1 创建哨兵工作目录
    • 3.2 修改哨兵配置文件
    • 3.3 启动哨兵(三台都执行)
  • 4.设置开机自启动(三台都执行)

)

1.准备工作

本次搭建使用一主二从三哨兵,哨兵模式在主从复制的基础上,引入了主节点的自动故障转移

1.1 ip规划

主机ip
master192.168.19.111
slave1192.168.19.200
slave2192.168.19.201

安装依赖(三台机器都操作)

yum install -y gcc-c++ automake autoconf libtool make tcl 

1.3 gcc升级(三台机器都操作)

因为redis6版本对gcc编译的版本要求较高,需要升级gcc版本

#安装gcc编译器
yum -y install gcc
#升级gcc版本
yum -y install centos-release-scl
yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils
scl enable devtoolset-9 bash

2.安装redis(三台机器都操作)

2.1 获取安装包

cd /root
wget https://download.redis.io/releases/redis-6.0.6.tar.gz

2.2 解压

tar fx redis-6.0.6.tar.gz

2.3 编译

cd redis-6.0.6
make

2.4 验证上一步是否正确

结果是0就是正确的,不是的话按照报错解决

echo $?

2.5 安装

make install  PREFIX=/usr/local/redis

2.6 拷贝配置文件到安装目录

cp -r redis.conf /usr/local/redis/bin/

2.7 修改配置文件

cd /usr/local/redis/bin/
sed -i 's/^bind 127.0.0.1/# bind 127.0.0.1/g' redis.conf
sed -i 's/^daemonize no$/daemonize yes/g' redis.conf
sed -i 's/^protected-mode yes$/protected-mode no/' redis.conf
sed -i 's#^logfile ""$#logfile "/usr/local/redis/redis.log"#g' redis.conf

2.8 修改slave1和slave2的配置文件(注:只在只读节点执行)

# 修改如下 注意请根据master的ip和端口填写
sed -i 's%# replicaof <masterip> <masterport>%replicaof 192.168.19.111 6379%g' redis.conf

2.9 启动redis(三台全启动,先启动master)

./redis-server redis.conf

2.10 验证主从模式

./redis-cli
# 然后在redis命令行执行
info replication

结果如下就对了
在这里插入图片描述

3.部署哨兵(三台操作)

3.1 创建哨兵工作目录

mkdir /usr/local/sentinel
cp -r /usr/local/redis/bin/* /usr/local/sentinel
cp -r /root/redis-6.0.6/sentinel.conf /usr/local/sentinel/
cd /usr/local/sentinel

3.2 修改哨兵配置文件

sed -i 's/^daemonize no$/daemonize yes/g' sentinel.conf
sed -i 's#^logfile ""$#logfile "/usr/local/sentinel/26379.log"#g' sentinel.conf
sed -i 's/^sentinel monitor mymaster 127.0.0.1 6379 2$/sentinel monitor mymaster 192.168.19.111 6379 2/g' sentinel.conf

3.3 启动哨兵(三台都执行)

cd /usr/local/sentinel
./redis-sentinel sentinel.conf

4.设置开机自启动(三台都执行)

echo "/usr/local/redis/bin/redis-server /usr/local/redis/bin/redis.conf" >> /etc/rc.d/rc.local
echo "/usr/local/sentinel/redis-sentinel /usr/local/sentinel/sentinel.conf" >> /etc/rc.d/rc.local
chmod +x /etc/rc.d/rc.local

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

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

相关文章

Windows10安装二进制Mysql-5.7.41和汉化

1.创建my.ini [mysqld] ##skip-grant-tables1 port 3306 basedirD:/webStudy/mysql-5.7.41 datadirE:/adata/mysqlData max_connections200 character-set-serverutf8 default-storage-engineINNODB sql_modeNO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES [mysql] default-char…

Liunx基础命令 - which命令

which命令 – 查找命令文件 ​ which命令的功能是用于查找命令文件&#xff0c;能够快速搜索二进制程序所对应的位置。如果我们既不关心同名文件&#xff08;find与locate&#xff09;&#xff0c;也不关心命令所对应的源代码和帮助文件&#xff08;whereis&#xff09;&#…

C++中类的静态成员变量与静态成员函数

static声明为静态的&#xff0c;称为静态成员。 不管这个类创建了多少个对象&#xff0c;静态成员只有一个拷贝&#xff0c;这个拷贝被所有属于这个类的对象共享。 静态成员 属于类 而不是对象。 静态变量&#xff0c;是在编译阶段就分配空间&#xff0c;对象还没有创建时&…

ARM-栈帧(一)

ARM 栈帧 本系列均以 corter-A7(armv7-a) 为例 在 ARM 中&#xff0c;通常为满减栈&#xff08;Full Descending FD&#xff09;, 也就是说&#xff0c;堆栈指针指向堆栈内存中最后一个填充的位置&#xff0c;并且随着每个新数据项被压入堆栈而递减。 栈的本质 要理解栈的本…

二叉搜索树、AVL树、红黑树底层源码以及迭代器模拟实现,map/set的封装

这次给大家分享的还是关于二叉树部分的内容&#xff0c;之前的文章已经分享过一些二叉树的基础知识&#xff0c;如果不了解的朋友可以看看&#xff1a;二叉树以及堆和堆排序。普通的二叉树其实是没有什么实际的应用价值的&#xff0c;而map和set大家用过或者听过吗&#xff1f;…

Metasploit Framework(MSF)对Metasploitable2的渗透解析

简介 Metasploitable2虚拟系统是一个特殊的ubuntu操作系统&#xff0c;本身设计目的是作为安全工具测试和演示常见漏洞攻击的环境。 其中最核心是可以用来作为MSF攻击用的靶机。这样方便我们学习MSF框架的使用。 并且开放了很多的高危端口如21、23、445等&#xff0c;而且具有…

李薇:大模型时代的数据变革

Datawhale干货 作者&#xff1a;李薇&#xff0c;上海人工智能实验室 前言 今天&#xff0c;我将向那些希望深入了解大模型的同学们&#xff0c;分享一些关于大模型时代的数据变革的知识。作为上海人工智能实验室OpenDataLab的产品主管&#xff0c;我会介绍我们在开放数据和大…

大数据技术闲侃之岗位选择解惑

前言 写下这篇文章是因为五一节前给群友的承诺&#xff0c;当然按照以往的惯例&#xff0c;也是我背后看到的这个现象&#xff0c;我发现大部分同学在投递岗位的时候都是投递数据分析岗位&#xff0c;其实背后并不是很清楚背后的岗位是做啥的&#xff0c;想想我自己的工作生涯…

用户/用户组管理

用户管理 * useradd 命令添加用户&#xff0c;会在/etc/passwd生成用户信息&#xff0c;信息分为7列&#xff0c;被6个冒号隔开 第一列 username (login name) 第二列 密码&#xff0c;但是该列已经被移除&#xff0c;用x表示&#xff0c;密码信息已经存放在了/etc/shadow文…

Android以aar包形式引入hunter-debug,Java(3)

Android以aar包形式引入hunter-debug&#xff0c;Java&#xff08;3&#xff09; &#xff08;1&#xff09;首先把hunter的master分支代码拉下来&#xff0c;在本地编译&#xff0c; https://github.com/Leaking/Hunterhttps://github.com/Leaking/Hunter此过程主要目的是获得…

理解学习曲线:芯片工作中的平台价值和个人价值

作为一名芯片工程师&#xff0c;从毕业出到步入公司的第一天开始&#xff0c;需要完成一次明显的转变&#xff0c;随着工作的日益开展和项目推进&#xff0c;个人能力的也得到了潜移默化的提升&#xff0c;当我们回看个人的知识/技能成长的曲线时&#xff0c;可能会发现很多的发…

CMake:递归检查并拷贝所有需要的DLL文件

文章目录 1. 目的2. 设计整体思路多层依赖的处理获取 DLL 所在目录探测剩余的 DLL 文件 3. 代码实现判断 stack 是否为空判断 stack 是否为空获取所有 target检测并拷贝 DLL 4. 使用 1. 目的 在基于 CMake 构建的 C/C 工程中&#xff0c;拷贝当前工程需要的每个DLL文件到 Visu…

将nacos从本地切换到远程服务器上时报错:客户端端未连接,Client not connected

报错信息&#xff1a; 09:34:38.438 [com.alibaba.nacos.client.Worker] ERROR com.alibaba.nacos.common.remote.client - Send request fail, request ConfigBatchListenRequest{headers{charsetUTF-8, Client-AppNameunknown, Client-RequestToken65c0fbf47282ae0a7b85178…

android点击事件,跳转界面

Android 事件处理 1&#xff0c;采用在Activity中创建一个内部类定义点击事件 主要xml代码 <?xml version"1.0" encoding"utf-8"?> <LinearLayout xmlns:android"http://schemas.android.com/apk/res/android"xmlns:app"http:…

【SAP Abap】X-DOC:SE37 - ABAP 功能模块之更新模块(Function Module 之 Update module)

【SAP Abap】X-DOC&#xff1a;SE37 - ABAP 功能模块之更新模块&#xff08;Function Module 之 Update module&#xff09; 1、简介1.1、什么是更新函数1.2、更新函数的类型1.3、更新函数的参数要求1.4、更新函数的调用方式1.5、更新函数的调试方式1.6、更新任务的执行模式1.7…

C语言——控制语句

目录 1. 分支语句1.1 if语句1.1.1 基本结构1.1.2 分层结构1.1.3 嵌套结构 1.2 switch case 语句 2.循环语句2.1 for循环2.1.1 基本结构2.1.2 嵌套结构2.1.3 变形 2.2 while循环2.3 do while循环2.4 死循环2.5 循环控制语句 控制语句即用来实现对程序流程的选择、循环、转向和返…

Shiro框架漏洞分析与复现

Shiro简介 Apache Shiro是一款开源安全框架&#xff0c;提供身份验证、授权、密码学和会话管理。Shiro框架直观、易用&#xff0c;同时也能提供健壮的安全性&#xff0c;可以快速轻松地保护任何应用程序——从最小的移动应用程序到最大的 Web 和企业应用程序。 1、Shiro反序列…

Linux下的线程(线程的同步与互斥)

目录 Linux下线程创建函数pthread_ create() 线程的等待函数pthread_ join() 线程终止 函数pthread exit() 函数pthread_cancel() 分离线程pthread_detach() 线程间的互斥 线程间同步 死锁 进程和线程 线程和进程是一对有意义的概念&#xff0c;主要区别和联系如下&am…

【Linux】常见指令以及权限理解

&#x1f307;个人主页&#xff1a;平凡的小苏 &#x1f4da;学习格言&#xff1a;别人可以拷贝我的模式&#xff0c;但不能拷贝我不断往前的激情 &#x1f6f8;C专栏&#xff1a;Linux修炼内功基地 家人们更新不易&#xff0c;你们的&#x1f44d;点赞&#x1f44d;和⭐关注⭐…

Vue 中动态引入图片为什么要是 require

在vue中动态的引入图片为什么要使用require&#xff1f; 因为动态添加src被当做静态资源处理了&#xff0c;没有进行编译&#xff0c;所以要加上require&#xff0c; 我倒着都能背出来...... emmm... 乍一看好像说的很有道理啊&#xff0c;但是仔细一看&#xff0c;这句话说…