• redis高可用(主从复制)


    熟练掌握redis需要从 reids如何操作5种基本数据类型,redis如何集群,reids主从复制,redis哨兵机制redis持久化

    reids主从复制 的作用可以:实现数据备份,读写分离,集群,高可用,宕机容错机制

    今天记录一下redis如何完成主从复制

    主从复制的概念:

    1、redis的复制功能是支持多个数据库之间的数据同步。一类是主数据库(master)一类是从数据库(slave),主数据库可以进行读写操作,当发生写操作的时候自动将数据同步到从数据库,而从数据库一般是只读的,并接收主数据库同步过来的数据,一个主数据库可以有多个从数据库,而一个从数据库只能有一个主数据库。

    2、通过redis的复制功能可以很好的实现数据库的读写分离,提高服务器的负载能力。主数据库主要进行写操作,而从数据库负责读操作。

    注意:redis只支持一个主服务器,nginx支持多主多备

    主从复制的执行过程实时性:

    1 当一个从数据启动后,会向主数据库发送sync命令

    2:主数据库接收到sync命令后会开始在后台保存快照(执行rdb操作),并将保存期间接收到的命令缓存起来

    3:当快照完成后,redis会将快照文件和所有缓存的命令发送给从数据库。

    4:从数据库收到后,会载入快照文件并执行收到的缓存的命令。

    具体实现 主从复制的步骤:

    1.克隆两个虚拟机作为从机


    修改每个虚拟机的mac地址.

    2.使用xshell工具连接从服务器:打开位于

    /usr/local/redis/etc 的redis.conf 文件

    找到 slaveof  和masterauth 配置文件内容

    3.添加主机ip 端口,和密码:

    4.分别启动(主从的) redis 服务

    cd /usr/local/redis/bin ./redis-server /usr/local/redis/etc/redis.conf  

    5. 分别连接redis客户端 ./redis-cli -h 127.0.0.1 -p 6379 -a "redis123"

    6.可以通过info命令 查看主从关系是否建立:

    打开主服务器:

     打开从服务器的info:

     

     7 测试,在主服务器中存值,在从服务器中是否能取到,如果能取到 则完成配置:(从服务器是无法写入数据的)

     

    8 重要的事情说三次,一定要记得 关闭防火墙,一定要记得 关闭防火墙,一定要记得 关闭防火墙(每个版本关闭防火墙用到的方式不一样),不然 即使建立好了关系 从服务器也无法从主服务器里面获取数据

    此处命令可参考:https://blog.csdn.net/zzqtty/article/details/85246209

    #安装iptables 
    yum install iptables-services

    一、iptables防火墙

    1、基本操作

    # 查看防火墙状态

    service iptables status  

    # 停止防火墙

    service iptables stop  

    # 启动防火墙

    service iptables start  

    # 重启防火墙

    service iptables restart  

    # 永久关闭防火墙

    chkconfig iptables off  

    # 永久关闭后重启

    chkconfig iptables on  

    2、开启80端口

    vim /etc/sysconfig/iptables
    # 加入如下代码
    -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
    保存退出后重启防火墙

    service iptables restart
    二、firewall防火墙
    1、查看firewall服务状态

    systemctl status firewalld

    出现Active: active (running)切高亮显示则表示是启动状态。

    出现 Active: inactive (dead)灰色表示停止,看单词也行。
    2、查看firewall的状态

    firewall-cmd --state
    3、开启、重启、关闭、firewalld.service服务

    # 开启
    service firewalld start
    # 重启
    service firewalld restart
    # 关闭
    service firewalld stop
    4、查看防火墙规则

    firewall-cmd --list-all
    5、查询、开放、关闭端口

    # 查询端口是否开放
    firewall-cmd --query-port=8080/tcp
    # 开放80端口
    firewall-cmd --permanent --add-port=80/tcp
    # 移除端口
    firewall-cmd --permanent --remove-port=8080/tcp
    #重启防火墙(修改配置后要重启防火墙)
    firewall-cmd --reload

  • 相关阅读:
    javaScript实用的一些方法
    ASP.NETCookies的用法
    SqlCommand执行带参数的sql语句
    C# Excel导出
    sql server复制表
    让Double类型完整显示,不用科学计数法显示E
    jstl fmt功能说明
    工具 PL/SQL 快捷键
    sql server 与 oracle 的不同,第一感觉。
    BigDecimal不整除的一个异常
  • 原文地址:https://www.cnblogs.com/920913cheng/p/10413009.html
Copyright © 2020-2023  润新知