zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    eclipse下c/cpp " undefined reference to " or "launch failed binary not found"问题
    blockdev 设置文件预读大小
    宝宝语录
    CentOS修改主机名(hostname)
    subprocess报No such file or directory
    用ldap方式访问AD域的的错误解释
    英特尔的VTd技术是什么?
    This virtual machine requires the VMware keyboard support driver which is not installed
    Linux内核的文件预读详细详解
    UNP总结 Chapter 26~29 线程、IP选项、原始套接字、数据链路访问
  • 原文地址:https://www.cnblogs.com/920913cheng/p/10413009.html
Copyright © 2011-2022 走看看