一、引言

 

 

  Redis有三种集群模式,第一个就是主从模式,第二种“哨兵”模式,第三种是Cluster集群模式,第三种的集群模式是在Redis
3.x以后的版本才增加进来的,我们今天就来说一下Redis第一种集群模式:主从集群模式。

 

二、配置说明

         实现主从复制(Master-Slave
Replication)的工作原理:Slave从节点服务启动并连接到Master之后,它将主动发送一个SYNC命令。Master服务主节点收到同步命令后将启动后台存盘进程,同时收集所有接收到的用于修改数据集的命令,在后台进程执行完毕后,Master将传送整个数据库文件到Slave,以完成一次完全同步。而Slave从节点服务在接收到数据库文件数据之后将其存盘并加载到内存中。此后,Master主节点继续将所有已经收集到的修改命令,和新的修改命令依次传送给Slaves,Slave将在本次执行这些数据修改命令,从而达到最终的数据同步。

        如果Master和Slave之间的链接出现断连现象,Slave可以自动重连Master,但是在连接成功之后,一次完全同步将被自动执行

 

主从复制配置:

       第一步:修改从节点的配置文件:slaveof <masterip> <masterport>

       第二步:如果设置了密码,就要设置:masterauth <master-password>

       主从复制的配置很简单,主要操作从节点的配置文件,主节点不需要任何改动。我们可以使用info查看role角色即可知道是主服务或从服务。

 

版本特点:测试版本为redis-5.0.5

 

    REPLICATION,主从模式的配置。注意,之前版本的redis,配置为slave of,现在改为REPLICATION。

 

  主从模式,可以是树状的,从服务属于多台主服务,且从服务也可以有从服务。

 

  主从模式,可实现读写分离;高可用模式下,主服务出现问题,也可以通过哨兵切换从服务为主服务;

 

  可实现主服务不用数据持久化,从服务进行持久化工作,减轻主服务负担等等。

 

replicaof <masterip> <masterport>:配置主服务的ip和端口。配置之后,就是这台机器的小弟了。主服务也能知道谁是他的小弟。

masterauth <master-password>:如果主服务需要密码认证,这里需要配置从服务连接主服务的密码。

replica-read-only:默认为yes,配置从服务默认为只读模式。

三、主从模式的配置

 

1.redis主从

  1)创建主从目录

  /usr/software/redis/redis-ms/

 

    mkdir 7001

 

    mkdir 7002

 

    mkdir 7003

 

  2)复制redis.conf到主从目录

 

    cp /usr/software/redis/redis.conf   /usr/software/redis/redis-ms/7001

 

    cp/usr/software/redis/redis.conf   /usr/software/redis/redis-ms/7002

 

    cp /usr/software/redis/redis.conf    /usr/software/redis/redis-ms/7003

 

  3)修改主./7001/redis.conf

 

    vim ./7001/redis.conf

 

    #修改如下key的值  

 

复制代码

 bind 0.0.0.0#任意ip都可以连接

 

    protected-mode no#关闭保护,允许非本地连接

 

    port 7001#端口号

 

    daemonize yes#后台运行

 

    pidfile /var/run/redis_7001.pid#进程守护文件,就是存放该进程号相关信息的地方

 

    dir /usr/software/redis/redis-ms/7001/data//#db等相关目录位置

 

    logfile "/usr/software/redis/redis-ms/7001/log/redis.log"

 

    appendonly yes#开启日志形式

 

    requirepass XX#密码

复制代码

 

 

  4)修改从./7002/redis.conf

 

    vim ./7002/redis.conf

 

    #修改如下key的值 

 

复制代码

bind 0.0.0.0#任意ip都可以连接

 

    protected-mode no#关闭保护,允许非本地连接

 

    port 7002#端口号

 

    daemonize yes#后台运行   

 

    pidfile /var/run/redis_7002.pid#进程守护文件,就是存放该进程号相关信息的地方

 

    dir /usr/software/redis/redis-ms/7002/data//#db等相关目录位置  

 

    logfile "/usr/software/redis/redis-ms/7002/log/redis.log"

 

    replicaof <masterip> <masterport>#主信息

 

    masterauth <master-password>#主信息

 

    appendonly yes#开启日志形式

 

    requirepass XX#密码

复制代码

 

 

  5)修改从./7003/redis.conf

 

    vim ./7003/redis.conf 

 

    #修改如下key的值 

 

复制代码

 bind 0.0.0.0#任意ip都可以连接

 

    protected-mode no#关闭保护,允许非本地连接

 

    port 7003#端口号

 

    daemonize yes#后台运行

 

    pidfile /var/run/redis_7003.pid#进程守护文件,就是存放该进程号相关信息的地方

 

    dir /usr/software/redis/redis-ms/7003/data//#db等相关目录位置    

 

    logfile "/usr/software/redis/redis-ms/7003/log/redis.log"

 

    replicaof <masterip> <masterport>#主信息

 

    masterauth <master-password>#主信息

 

    appendonly yes#开启日志形式

 

    requirepass XX#密码

复制代码

 

技术
下载桌面版
GitHub
Gitee
SourceForge
百度网盘(提取码:draw)
云服务器优惠
华为云优惠券
腾讯云优惠券
阿里云优惠券
Vultr优惠券
站点信息
问题反馈
邮箱:[email protected]
吐槽一下
QQ群:766591547
关注微信