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

  • 相关阅读:
    腰围2尺1,2,3,4,5,6,7,8寸各自等于是多少厘米/英寸(对比表)
    Android开发模板------自己定义SimpleCursorAdapter的使用
    怎样在多线程中使用JNI?
    UVa753/POJ1087_A Plug for UNIX(网络流最大流)(小白书图论专题)
    图解iPhone开发新手教程
    Why Hadoop2
    读完了csapp(中文名:深入理解计算机系统)
    hadoop备战:一台x86计算机搭建hadoop的全分布式集群
    Win7 公布网站 HTTP 错误 404.4
    Dump 文件生成与分析
  • 原文地址:https://www.cnblogs.com/920913cheng/p/10413009.html
Copyright © 2011-2022 走看看