首页 > 数据库 >Redis集群部署(redis主从+哨兵)

Redis集群部署(redis主从+哨兵)

时间:2024-10-17 09:19:30浏览次数:9  
标签:11 Redis redis 3.2 sentinel 10.10 data 主从

根据项目需要,三台机器搭建一个为redis主从+哨兵的集群,10.10.10.1(举例用的虚拟IP,下同)为主节点,10.10.10.2和10.10.10.3为从节点。

1、redis部署准备工作

  • 编辑/etc/hosts文件,添加要搭建的三台机器ip跟机器名称
  1. )使用hostname查出机器名称。
  2. )在三台机器中,加入Redis集群的机器IP及机器名称,如下图:

  • 关闭机器防火墙(三台服务器)

systemctl disable firewalld.service   --禁止开机自动启动防火墙

systemctl stop firewalld.service   --关闭防火墙

  • 将安装包redis-3.2.11.tar.gz拉到三台服务器上的/data路径下进行解压

解压命令为:tar–xzvf redis-3.2.11.tar.gz

2、Redis安装部署过程

  • 给三台机器安装依赖,如果需要其他依赖软件,请根据redis编译提示安装

yum install pcre-devel gcc gcc-c++

mkdir /data/redis-3.2.11/logs

  • 进入解压后的源码目录,编译安装redis,三台机器同步执行

cd /data/redis-3.2.11

make MALLOC=libc

make PREFIX=/data/redis-3.2.11 install

  • 编辑redis.conf文件

配置文件位置:/data/redis-3.2.11/redis.conf(仅显示需要修改的部分,标红部分为新增部分,rich2024为设置的redis的密码)

主机10.10.10.1配置:

bind 10.10.10.1

daemonize yes

pidfile "/var/run/redis.pid"

logfile "/data/redis-3.2.11/logs/redis.log"

      dir "/data/redis-3.2.11"

requirepass "rich2024"

      maxclients 10000

从机10.10.10.2配置:

bind 10.10.10.2

daemonize yes

logfile "/data/redis-3.2.11/logs/redis.log"

dir "/data/redis-3.2.11"

      slaveof 10.10.10.1 6379

      requirepass "rich2024"

masterauth "rich2024"

maxclients 10000

从机10.10.10.3配置:

bind 10.10.10.3

daemonize yes

logfile "/data/redis-3.2.11/logs/redis.log"

dir "/data/redis-3.2.11"

      slaveof 10.10.10.1 6379

      requirepass "rich2024"

masterauth "rich2024"

maxclients 10000

  • 启动各个实例,主从机使用相同命令

启动命令:/data/redis-3.2.11/bin/redis-server /data/redis-3.2.11/redis.conf &

3、哨兵配置

  • 配置sentinel

配置文件位置:/data/redis-3.2.11/sentinel.conf(仅显示需要修改的部分,标红部分为新增部分,rich2024为设置的redis的密码)

10.10.10.1配置:

      port 26379

      sentinel monitor mymaster 10.10.10.1 6379 2

sentinel failover-timeout mymaster 900000

sentinel auth-pass mymaster rich2024

      protected-mode no

10.10.10.2配置:

      port 26379

      sentinel monitor mymaster 10.10.10.1 6379 2

sentinel failover-timeout mymaster 900000

sentinel auth-pass mymaster rich2024

      protected-mode no

10.10.10.3配置:

      port 26379

      sentinel monitor mymaster 10.10.10.1 6379 2

sentinel failover-timeout mymaster 900000

      sentinel auth-pass mymaster rich2024

      protected-mode no

  • 启动sentinel

在redis主从节点都启动的状态下,启动每台机器上的sentinel

启动命令:/data/redis-3.2.11/bin/redis-sentinel /data/redis-3.2.11/sentinel.conf &

4、集群状态查看

每台机器都在/data/redis-3.2.11/bin下执行

进入执行目录:cd /data/redis-3.2.11/bin

10.10.10.1

./redis-cli -h 10.10.10.1 -c -p 6379 -a rich2024

info Replication

显示如下图,则证明集群部署成功

标签:11,Redis,redis,3.2,sentinel,10.10,data,主从
From: https://blog.csdn.net/weixin_39879324/article/details/142871549

相关文章

  • 一步步优化Redis实现分布式锁
    分布式锁概念在多线程的程序里,为了避免同时操作一个共享变量产生数据问题,会加一个互斥锁,以确保共享变量的正确性,使用范围是同一个进程。那如果是多个进程,需要同时操作一个共享资源,如何互斥呢?比如,现在的业务基本上都是微服务架构,一个应用会部署多个进程,这多个进程需要修改......
  • 什么是分布式锁?Redis的分布式锁又是什么?
    什么是分布式锁?分布式锁是一种用于解决分布式系统中多节点对共享资源并发访问问题的机制。在分布式系统中,多个服务器实例或服务进程可能同时操作某个共享资源(如数据库记录、缓存条目、文件等),导致数据不一致或竞争条件。分布式锁可以确保同一时刻只有一个节点可以访问或修改......
  • 分布式锁-redis实现方案
    分布式锁的定义        分布式锁(DistributedLock)是分布式系统中的一种同步机制,用于控制对共享资源的访问。在分布式环境中,由于多个服务实例或进程可能同时运行在不同的服务器上,传统的单机锁机制(如Java中的synchronized关键字或ReentrantLock)无法跨进程或跨服务器工作......
  • Redis的缓存问题
    缓存雪崩定义:缓存雪崩是指在某个时间段内,缓存中的大量数据同时失效或者大量的请求集中到某一个时间点发生,导致数据库压力骤增,甚至引起服务崩溃的现象。原因:通常是由于缓存中的大量数据同时过期或者大量的请求集中到某一时间点。例如,如果缓存中的大量数据在同一时间点过期,那......
  • Redis 5.0 安装
    注意事项默认文件存放位置可执行文件(如redis、redis-server、redis-sentinel、redis-cli):/usr/local/bin库文件:/usr/local/lib配置文件:/usr/local/etc资源文件:/usr/local/share版本大全https://download.redis.io/releases/?_gl=1*1i0ead3*_gcl_au*MjAxNzQxMDA1Lj......
  • Redis 数据导入导出
    方式一:redis-dump前置安装redis-dumphttps://blog.csdn.net/zhanaolu4821/article/details/103684237数据导出##-uuri##-a密码##-ddatabase##导出所有库/usr/local/bin/redis-dump-u127.0.0.1:63790-a123456>/data/dba/yanhao/test/testredis.json##导......
  • 如何保证Redis和数据库的数据一致性
    文章目录0.前言1.补充知识:CP和AP2.什么情况下会出现Redis与数据库数据不一致3.更新缓存还是删除缓存4.先操作缓存还是先操作数据库4.1先操作缓存4.1.1数据不一致的问题是如何产生的4.1.2解决方法(延迟双删)4.1.3最终一致性和强一致性4.1.4如何确定延迟双删的延迟......
  • Redis未授权-6379
    原理分析Redis默认情况下,会绑定在0.0.0.0:6379,这样将会将Redis服务暴露到公网上如果在没有开启认证的情况下,可以导致任意用户在可以访问目标服务器的情况下未授权访问Redis以及读取Redis的数据。攻击者在未授权访问Redis的情况下可以利用Redis的相关方法,可以成功在......
  • Windows系统部署redis自启动服务
    文章目录引言Iredis以本地服务运行(Windowsservice)使用MSI安装包配置文件,配置端口和密码IIredis服务以终端命令启动缺点运行redis-server并指定端口和密码III知识扩展确认redis-server可用性InstallingtheService引言服务器是Windows系......
  • 阿里面试:如何解决Redis热点Key问题? (按此作答,拿 60W年薪)
    文章很长,且持续更新,建议收藏起来,慢慢读!疯狂创客圈总目录博客园版为您奉上珍贵的学习资源:免费赠送:《尼恩Java面试宝典》持续更新+史上最全+面试必备2000页+面试必备+大厂必备+涨薪必备免费赠送:《尼恩技术圣经+高并发系列PDF》,帮你实现技术自由,完成职业升级,薪......