• redis主从复制


    redis主从复制

    这两天一直在研究redis到底是怎么主从配置的,期间出现的问题无非是配置错误,当配置好一切时候,依旧会发现结果还是NO,经过我们可爱的同事帮助,确定结果是因为防火墙的问题。好了,不唠叨了,简单说下redis的主从复制是怎么样的配置过程。

    1.首先我们需要在启动三台都安装好redis的linux系统,如

    虚拟机主机A   IP: 192.168.136.141

    虚拟机主机B   IP: 192.168.136.138

    虚拟机主机B   IP: 192.168.136.137。

    我们确定好三台机子的IP 地址,输入命令:#ip addr 。

    2.选择一台主机作为redis的主数据库,这里选择主机A,则需更改redis.conf配置文件,在bind 127.0.0.1 后面加上主机A的IP(192.168.136.141)如图所示。从数据库主机B,和主机C同样更改该位置。

    3.从数据库主机B、主机C,仍旧需要更改redis.conf配置,加上从数据库对应的主数据库和端口,即slaveof  192.168.136.141  6379 。

    4.配置好这些后启动redis服务,主机A、B、C在对应的路径下redis.conf 存在的目录,执行命令:#redis-server redis.conf 。

    5.执行完毕后查看是否设置成功,输入命令:#redis-cli  或者输入#redis-cli -h 本主机ip -p 端口,输入info ,查看Replication信息,如图所示。

    主机A ,信息。

     

     主机B

     

     6.这样就成功的实现的redis的主从配置,我们可以测试下 主机A 设置redis的一个值 127.0.0.1:6379>set foo shixz ,get  foo结果是"shixz"。

    在从数据库下同样可以获取到,如图主机B获取结果所示。

    我遇到的问题是主从如何都连接不到一起,可以ping的通,配置没问题。主要是忘记关闭防火墙了,执行命令:#systemctl status firewalld.service就好了。

    接下来配置下sentinel节点。具体的原理我没深刻理解,怕说错就不介绍了,仅仅说下配置吧。

    1. 主机A(主数据库) 的sentinel.conf ,可以看到配置端口port:26379 ,配置对应的主数据库IP和端口sentinel monitor mymaster 192.168.141  6379 2。而主机B、主机C配置不同的端口port 即可 。如主机B配置成46379 ,主机C配置成56379,sentinel  monitor依旧配置主数据库的信息。

     

    2. 当一切配置好之后启动sentinel,输入命令:#redis-sentinel  sentinel.conf 。

    得到如图所示结果,当主机B或者C也启动了节点,则会增加日志记录。

     

    3.启动连接都OK的情况,中断主机B的执行,主机B(从数据库)sentin.conf最底下会写入日志。

    以上这些就是目前我所了解的最基本的配置了。

  • 相关阅读:
    转载:Response.ContentType 详细列表
    转载:从网页上下载控件时制作CAB包的方法
    启用数据库图表
    控制自动换行
    转载:DataTable.Compute强大的功能
    转载:实在搞不懂 HttpCachePolicy.SetAllowResponseInBrowserHistory() 有什么用?
    Session 超时与 Session_End 事件
    VB 连接 TFS:Team Foundation Server
    [转]VB找不到档案 'C:\WINDOWS\system32\IEFRAME.dll\1'
    [转]MSBuild入门
  • 原文地址:https://www.cnblogs.com/zhishifx/p/9396744.html
Copyright © 2020-2023  润新知