ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

redis主从复制(读写分离,容灾恢复)

2021-08-08 21:00:14  阅读:204  来源: 互联网

标签:主从复制 myredis redis 6379 从机 conf 容灾 slave


Redis_主从复制:主机数据更新后根据配置和策略, 自动同步到备机的master/slaver机制,Master(主服务器)以写为主,Slave(从服务器)以读为主

作用:读写分离,性能扩展,容灾快速恢复

 

复制原理:

 

 

 

使用

(主要)

拷贝多个redis.conf文件include(写绝对路径)

创建文件夹

mkdir /myredis

cd /myredis

复制一个原始redis.conf

cp /etc/redis.conf /myredis/redis.conf

编写主从机的redis.conf

vi redis6379.conf

 

开启daemonize yes(守护线程 即后台运行)

daemonize yes

设置自己redis的密码

requirepass 123456

给从机设置主机的密码

masterauth 123456

Pid文件名字pidfile(后台运行时写入pid的文件)

pidfile /var/run/redis_6379.pid

指定端口port

port 6379

 

 

(次要)

dump.rdb名字dbfilename

dbfilename dump6379.rdb

Appendonly 关掉或者换名字

 appendfilename appendonly6379.aof

Log文件名字

logfile /tmp/redis6379.log

 

例子:

一主二仆:

 

 

编写1主2从(启用了RDB持久化)

vi /myredis/redis6379.conf

内容

include /myredis/redis.conf

pidfile /var/run/redis_6379.pid

port 6379

requirepass 123456

masterauth 123456

dbfilename dump6379.rdb

接着编译另外2个

 

在myredis文件夹中启动redis服务

redis-server /myredis/redis6379.conf
redis-server /myredis/redis6380.conf
redis-server /myredis/redis6381.conf

进入redis-cli(三个Linux界面分别进入)

redis-cli -p 6379

redis-cli -p 6380

redis-cli -p 6381

 

在从机上执行    配置为从机(127.0.0.1:主机ip   6379:主机端口)(从机挂掉了重启需要重新配置从机         可以将配置增加到redis.conf文件中,永久成为从机生效。)

slaveof 127.0.0.1 6379

在主机上查看主从(master-slave)复制信息

info replication

在从机上查看主从复制信息

 

 

 

 

 

薪火相传:

上一个Slave可以是下一个slave的Master,Slave同样可以接收其他 slaves的连接和同步请求,

那么该slave作为了链条中下一个的master, 可以有效减轻master的写压力,去中心化降低风险

风险是一旦某个slave宕机,后面的slave都没法备份

主机挂了,从机还是从机,无法写数据了

 

 

反客为主:(可以使用哨兵模式自动实现)

当一个master宕机后,后面的slave可以立刻升为master,其后面的slave不用做任何修改。

在从机的redis-cli中使用  slaveof  no one  将从机变为主机

 

标签:主从复制,myredis,redis,6379,从机,conf,容灾,slave
来源: https://www.cnblogs.com/easyjava/p/15115648.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有