• 搭建redis主从和哨兵的一些配置


    前阵子公司一台服务器被回收,上面安装的redis主从+哨兵也无了,需要重新搭一套。中途一些配置没配好导致出现了一些问题,服务无法正常使用redis,现记录一下。


    一、主从复制、哨兵模式

    这里不做介绍了,很多技术文档有详细说明,文末举例贴两个链接。

    二、搭建配置

    下载redis-6.0.6.tar.gz,在一台机器上配置三个端口
    1、 建立redis目录解压安装包,命名区分主从便于确认
      tar –zxvf redis-6.0.6.tar.gz redis-6.0.6
    在这里插入图片描述

    2、 进入解压后路径编译安装,gcc –v 查看版本,redis 6.0及之后需9.0以上gcc编译
      make
      cd src
      make install PREFIX=/usr/local/redis
    在这里插入图片描述

    3、 编译完成后得到可执行文件
      cd /usr/local/redis

    4、 进行主从节点及哨兵配置
    进入对应主从节点路径下,修改redis.conf与sentinel.conf
    (1)主节点 redis6379.conf 修改为以下配置
      注释 bind 127.0.0.1 #用于监听其他机器访问
      protected-mode no #其他机器连接
      daemonize yes #后台执行
      pidfile /var/run/redis_6379.pid
      logfile “redis6379.log”
      dbfilename dump6379.rdb
      masterauth eastmoney
      masteruser default
      requirepass eastmoney
      appendonly yes #持久化
      appendfilename “appendonly6379.aof”

    (2)从节点从redis6379.conf复制,端口做对应修改
    redis6380.conf
      注释 bind 127.0.0.1 #用于监听其他机器访问
      port 6380
      protected-mode no #其他机器连接
      daemonize yes #后台执行
      pidfile /var/run/redis_6380.pid
      logfile “redis6380.log”
      dbfilename dump6380.rdb
      masterauth eastmoney
      masteruser default
      replicaof 10.10.184.138 6379
      requirepass eastmoney
      appendonly yes #持久化
      appendfilename “appendonly6380.aof”
    redis6381.conf
      注释 bind 127.0.0.1 #用于监听其他机器访问
      port 6381
      protected-mode no #其他机器连接
      daemonize yes #后台执行
      pidfile /var/run/redis_6380.pid
      logfile “redis6381.log”
      dbfilename dump6381.rdb
      masterauth eastmoney
      masteruser default
      replicaof 10.10.184.138 6379
      requirepass eastmoney
      appendonly yes #持久化
      appendfilename “appendonly6381.aof”
    (3)配置哨兵
    sentinel26379.conf
      port 26379
      daemonize yes
      pidfile “/var/run/redis-sentinel.pid”
      logfile “sentinel26379.log”
      sentinel monitor mymaster 10.10.184.138 6379 2
      sentinel auth-pass mymaster eastmoney
      sentinel auth-user mymaster default
    sentinel26380.conf
      port 26380
      daemonize yes
      pidfile “/var/run/redis-sentine2.pid”
      logfile “sentinel26380.log”
      sentinel monitor mymaster 10.10.184.138 6379 2
      sentinel auth-pass mymaster eastmoney
      sentinel auth-user mymaster default
    sentinel26381.conf
      port 26381
      daemonize yes
      pidfile “/var/run/redis-sentine2.pid”
      logfile “sentinel26381.log”
      sentinel monitor mymaster 10.10.184.138 6379 2
      sentinel auth-pass mymaster eastmoney
      sentinel auth-user mymaster default
    5、 防火墙打开端口6379,6380,6381,26379,26380,26381后重启
    firewall-cmd --zone=public --add-port=6379/tcp –permanent

    firewall-cmd –reload
    firewall-cmd --zone=public --list-ports
    在这里插入图片描述

    6、 启动redis
    使用前面步骤中可执行文件在对应路径下按照主节点、从节点、哨兵顺序启动
    /usr/local/redis/bin/redis-server redis_master/redis-6.0.6/redis6379.conf
    /usr/local/redis/bin/redis-server redis_slaver1/redis-6.0.6/redis6380.conf
    /usr/local/redis/bin/redis-server redis_slaver2/redis-6.0.6/redis6381.conf

    /usr/local/redis/bin/redis-sentinel redis_master /redis-6.0.6/sentinel26379.conf
    /usr/local/redis/bin/redis-sentinel redis_slaver1/redis-6.0.6/sentinel26380.conf
    /usr/local/redis/bin/redis-sentinel redis_slaver2/redis-6.0.6/sentinel26381.conf

    参考

    [1] https://www.jianshu.com/p/c401a3f1b26d
    [2] https://zhuanlan.zhihu.com/p/484845934

  • 相关阅读:
    Linux - tar (tape archive)
    分布式数据中心网络互联技术实现
    webshell流量特征
    Triples of Cows
    《设计模式:可复用面向对象软件的基础》——行为模式(2)(笔记)
    Android 9 第一次开机联网检测系统升级
    基于微信小程序建桥学院点餐
    【docker容器 redis密码没有生效解决办法】
    【liunx】进程的状态
    如何用人工智能自动玩游戏
  • 原文地址:https://blog.csdn.net/lk2015/article/details/127124600