Springboot+(linux)redis哨兵模式实现

下面是主从redis服务

6379
6380从1
6381从2

下面是多个哨兵 

26379哨兵1
26380哨兵2
26381哨兵3

  1. windows下redis压缩包(本文使用的是5.0.13)
    Redis(点我跳转页面下载)
  2. 解压(不知道命令的可以百度)
    tar -zxvf redis-5.0.13.tar.gz
  3. 安装或升级gcc
    1)linux会自带gcc编译器,但听说redis4.0以上需要升级gcc
    2)查看gcc版本命令:gcc -v

    图中我的已经是高版本的
    3)升级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

  4. 安装只后跳转到redis解压目录,会发现很多文件,首先我来配置主从(1主2从)
    1.  (配置主)找到redis.conf,修改以下几点,有些可能是redis已经设置好的,最好是检查一下
      0)port 6379(设置端口)
      1)注释掉# bind 127.0.0.1(作用是为了让外面能访问到)
      2)daemonize yes(将daemonize 设置成yes)
      3)requirepass 123456(设置密码)
      4)masterauth 123456(设置主redis密码,因为他自己可能会挂掉,当他再复活的时候,master已不是他了)
      5)replica-read-only no(把从redis只读状态关掉)

    2. (配置从1)找到刚修改的redis.conf,把他复制两份,文件名分别叫redis-6380.conf,redis-6381(为了看起来舒服,把原来的redis.conf文件,名字改成redis-6379.conf)
      0)port 6380(设置端口)
      1)注释掉# bind 127.0.0.1(作用是为了让外面能访问到)
      2)daemonize yes(将daemonize 设置成yes)
      3)requirepass 123456(设置密码)
      4)masterauth 123456(设置主redis密码,因为他自己可能会挂掉,当他再复活的时候,master已不是他了)
      5)replica-read-only no(把从redis只读状态关掉)
      6)slaveof 192.168.98.123 6379(设置主从同步,非常重要)

    3. (配置从2)
      0)port 6381(设置端口)
      1)注释掉# bind 127.0.0.1(作用是为了让外面能访问到)
      2)daemonize yes(将daemonize 设置成yes)
      3)requirepass 123456(设置密码)
      4)masterauth 123456(设置主redis密码,因为他自己可能会挂掉,当他再复活的时候,master已不是他了)
      5)replica-read-only no(把从redis只读状态关掉)
      6)slaveof 192.168.98.123 6379(设置主从同步,非常重要)

  5. 然后我们来配置哨兵(多个哨兵改一下端口就行了)
    1.(配置哨兵1)找到sentinel.conf
    修改以下几点,有些可能是redis已经设置好的,最好是检查一下
    0)port 26379(设置哨兵端口)
    1)daemonize yes
    (将daemonize 设置成yes)
    2)dir "/usr/local/redis/redis-5.0.13"
    3)logfile "26379.log"(这两步是设置日志输出的)
    4)sentinel monitor mymaster 192.168.98.123 6379 1
    5)sentinel auth-pass mymaster People2000(这个必须在上一条的下面,不然项目使用的时候会报错)
    6)sentinel down-after-milliseconds mymaster 5000(多久时间检查一次redis生命状态)
    ------------------------------------------------
    2.(配置哨兵2,哨兵3)
    找到刚修改的sentinel.conf,把他复制两份,文件名分别叫sentinel-26380.conf,sentinel-26381(为了看起来舒服,把原来的sentinel.conf文件,名字改成sentinel-26379.conf)
    0)port 26380/81(设置哨兵端口,改成相应的端口就行)
    1)daemonize yes
    (将daemonize 设置成yes)
    2)dir "/usr/local/redis/redis-5.0.13"
    3)logfile "26380/81.log"(这两步是设置日志输出的,改成相应的日志文件,为了区分日志输出
    4)sentinel monitor mymaster 192.168.98.123 6379 1
    5)sentinel auth-pass mymaster People2000(这个必须在上一条的下面,不然项目使用的时候会报错)
    6)sentinel down-after-milliseconds mymaster 5000(多久时间检查一次redis生命状态)
     

  6. 接下来直接启动redis服务(现在是在redis安装目录的位置)
    1)启动主:redis-server redis-6379.conf
    2)启动从1:redis-server redis-6380.conf
    3)启动从2:redis-server redis-6381.conf
    查看主从关系
    连接redis命令:redis-cli -p 6379
    进去之后会要你输密码:auth 你自己设置的密码(注意“auth”与密码之间有个空格)
    再输入:info replication

    如图可见,6379下面有两个从,分别是6380,6381

  7. 然后来启动哨兵(现在是在redis安装目录的位置)
    1)启动哨兵1:redis-sentinel sentinel-26379.conf &
    2)启动哨兵2:redis-sentinel sentinel-26380.conf &
    3)启动哨兵3:redis-sentinel sentinel-26381.conf &
    注意:加(&)这个符号后台运行

     

springboot配置redis哨兵:
 

spring:

  redis:
#    host: 192.168.98.123
#    port: 6379
    password: 123465# 密码(默认为空)
    timeout: 6000ms  # 连接超时时长(毫秒)
    lettuce:
      pool:
        max-active: 1000  # 连接池最大连接数(使用负值表示没有限制)
        max-wait: -1ms      # 连接池最大阻塞等待时间(使用负值表示没有限制)
        max-idle: 10      # 连接池中的最大空闲连接
        min-idle: 5       # 连接池中的最小空闲连接
    sentinel:
      master: mymaster
      nodes: 192.168.98.123:26379,192.168.98.123:26380,192.168.98.123:26381 #配置多个哨兵

其他跟单个redis一样,因为他有自动配置功能

当主挂了之后,一个从就会变成主,原来的主复活之后,就变成从了

要配置文件可以私信我发你

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值