Redis实现主从复制

一、克隆3台虚拟机

右击要克隆的虚拟机,选择管理-再次选择克隆(克隆虚拟机时一定要将虚拟机进行关闭再进行克隆操作)

选择后一直点击下一步,新克隆的虚拟机的名字可以自己进行重新取。

二、生成新的mack地址

点击生成后再点击确定即可。Redis3虚拟机也按该操作执行一次。

二、Redis从复制概念

概述

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

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

主从复制过程:见下图

过程:

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

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

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

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

三、搭建集群

注意:

1、搭建集群时需要使用root账号进行登录

2、关闭所有的防火墙 service iptables stop

3、配置主从复制时,要设定的主服务器不用配置,只需配置从服务器的配置即可

4、目前我的redis3台的ip地址分别是:192.168.1.69  192.168.1.81 192.168.1.230

1修改redis.conf

   进入要设定从服务器中的redis的bin目录,找到redis.conf配置文件

cd /usr/local/redis/etc

修改slave从redis中的 redis.conf文件

vi redis.conf

搜索 replicaof <masterip> <masterport>  设置主的redisip和端口后,在配置文件中搜索: /masterip 则能找到该对应配置

修改配置如下:

slaveof 192.168.1.69 6379  

配置主服务器的密码

masterauth root--- redis服务器配置了密码,则需要配置

本人没有设置密码,所以只配置了主服务器的ip和端口

配置一台从服务器则已配置完成,另外一台配置跟以上步骤相同

三、测试

启动主redis服务器

./redis-server /usr/local/redis/etc/redis.conf 
./redis-cli 

注意:先启动主服务器,再启动从服务器,若从服务器启动出错,则将主服务器的redis.conf配置文件复制覆盖从服务器的配置文件,并修改该配置文件的从服务器ip和端口。启动成功后输入info命令查看

在主服务器中输入:set test1 123

在从服务器中输入:get test1  出现的结果为:123则代表主从复制成功。

以上为本篇redis实现主从复制的内容,本内容主要来源于余胜军授讲:http://www.mayikt.com/,若对以上博客内容有什么疑问的,欢迎各位博友进行评论探讨,转发请将本文中涉及的链接一并进行转发。本人博客地址:https://www.cnblogs.com/chenyuanbo/,欢迎关注探讨,技术提升在于沟通交流

原文地址:https://www.cnblogs.com/chenyuanbo/p/11638985.html