Redis的主从复制

栏目: 数据库 · 发布时间: 5年前

内容简介:拷贝多份redis配置文件开启 daemonize yes主节点配置文件不变,端口号6379

有什么好处

  • 主从复制实现了数据的热备份,是持久化之外的一直方式
  • 故障恢复:当主节点出现问题时,从节点可以提供数据
  • 负载均衡:主节点提供写服务,从节点提供读服务。在少写多读的场景下,从节点可以有效的分担请求的负载。
  • 高可用,主从复制还是哨兵和集群能够实施的基础,因此说主从复制是 Redis 高可用的基础。

拷贝多份redis配置文件

wyl@wyl-linux:/etc/redis$ sudo cp redis.conf  redis6379.conf
wyl@wyl-linux:/etc/redis$ sudo cp redis.conf  redis6380.conf
wyl@wyl-linux:/etc/redis$ sudo cp redis.conf  redis6381.conf
wyl@wyl-linux:/etc/redis$ ls -l
total 240
-rw-r----- 1 root  root  58837 2月  17 23:13 redis6379.conf
-rw-r----- 1 root  root  58837 2月  17 23:13 redis6380.conf
-rw-r----- 1 root  root  58837 2月  17 23:13 redis6381.conf
-rw-r----- 1 redis redis 58837 11月 29 18:37 redis.conf

开启 daemonize yes

主节点配置文件不变,端口号6379

两个从节点,修改pid、log、dump文件名字,以及端口号(分别是6380、6381)

可根据不同的配置文件修改,如redis-server-6380.pid、 redis-server-6380.log、dump-6380.rdb

daemonize yes
pidfile /var/run/redis/redis-server.pid
port 6379
logfile /var/log/redis/redis-server.log
dbfilename dump.rdb

三个redis的配置完毕之后,启动redis服务

wyl@wyl-linux:~$ sudo redis-server /etc/redis/redis6379.conf
wyl@wyl-linux:~$ redis-cli -p 6379

wyl@wyl-linux:~$ sudo redis-server /etc/redis/redis6380.conf
wyl@wyl-linux:~$ redis-cli -p 6380

wyl@wyl-linux:~$ sudo redis-server /etc/redis/redis6381.conf
wyl@wyl-linux:~$ redis-cli -p 6381

查看进程,三台redis服务均启动成功。

wyl@wyl-linux:~$ ps -ef|grep redis
redis      4305      1  0 23:28 ?        00:00:00 /usr/bin/redis-server 127.0.0.1:6379
root       4355   1707  0 23:29 ?        00:00:00 redis-server 127.0.0.1:6380
root       4376   1707  0 23:29 ?        00:00:00 redis-server 127.0.0.1:6381
wyl        4570   2269  0 23:31 pts/0    00:00:00 redis-cli -p 6379
wyl        4572   3973  0 23:31 pts/1    00:00:00 redis-cli -p 6380
wyl        4576   4362  0 23:31 pts/2    00:00:00 redis-cli -p 6381
root       4804   4580  0 23:33 pts/3    00:00:00 sudo vim redis.conf
root       4805   4804  0 23:33 pts/3    00:00:00 vim redis.conf
wyl        4879   4809  0 23:35 pts/4    00:00:00 grep --color=auto redis

SLAVEOF host port 主节点HOST、主节点port

建立主从复制关系,

slaveof no one

断开主从复制关系,使得这个从属服务器关闭复制功能,并从从属服务器转变回主服务器从节点断开复制后,不会删除已有的数据,只是不再接受主节点新的数据变化。

进行主从配置

Redis的主从复制

可以通过 info replication 查看服务器信息
role:master 主服务器
rike: salve 从服务器

Redis的主从复制

  • 主服务器宕机之后,从服务器依旧还是从服务器,并不会上位为主服务器
  • 从机宕机之后,每次启动都需要重新与主服务器进行连接。除非在配置文件中进行了配置

Redis的主从复制

因此需要重新执行SLAVEOF 127.0.0.1 6379 同步主机数据

如果在正常运行的salve机器上,执行SLACEOF host port,则这个salve会变成master节点。

只有主机才可以进行写数据,如下 我在6380端口的从机上进行写操作。

# 从机只可进行数据的读取,不可写入
127.0.0.1:6380> set k3 v3
(error) READONLY You can't write against a read only slave.

上面一主2从,如果从机太多,只有一个主机,所有的写压力都落在了唯一的一个主机上。所以这里就要用到了去中心化的概念

去中心化:

是在一个分布有众多节点的系统中,每个节点都具有高度自治的特征。节点之间彼此可以自由连接,形成新的连接单元。任何一个节点都可能成为阶段性的中心,但不具备强制性的中心控制功能。节点与节点之间的影响,会通过网络而形成非线性因果关系。这种开放式、扁平化、平等性的系统现象或结构,我们称之为去中心化。

上面提到了三个reids。如果6380作为6379的从机,6380作为6381的从机(也就是80手机81的主节点)

如下所示

Redis的主从复制

再回到1主多从的情况下,如果主机宕机了会怎么样呢?

如下图所示。

Redis的主从复制


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

零成本实现Web性能测试

零成本实现Web性能测试

温素剑 / 电子工业出版社 / 2012-2 / 59.00元

《零成本实现Web性能测试:基于Apache JMeter》是一本关于Web性能测试的实战书籍,读者朋友们在认真阅读完《零成本实现Web性能测试:基于Apache JMeter》后,相信能够将所学知识应用到生产实践中。《零成本实现Web性能测试:基于Apache JMeter》首先介绍基础的性能测试理论,接着详细介绍如何使用JMeter完成各种类型的性能测试。实战章节中作者以测试某大型保险公司电话......一起来看看 《零成本实现Web性能测试》 这本书的介绍吧!

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码

html转js在线工具
html转js在线工具

html转js在线工具

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试