主从复制-数据同步阶段注意事项|学习笔记

简介: 快速学习主从复制-数据同步阶段注意事项

开发者学堂课程【Redis 入门到精通(进阶篇)主从复制-数据同步阶段注意事项】学习笔记与课程紧密联系,让用户快速学习知识

课程地址https://developer.aliyun.com/learning/course/765/detail/13453


主从复制-数据同步阶段注意事项

 

目录

数据同步阶段流程

数据同步阶段 master 说明

数据同步阶段 slave 说明

 

本章主要讲解数据同步的流程以及说明

 

一,数据同步阶段流程

从日志上看整个过程输入之后进行启动

以下为启动之后的代码

18849:m 14 0ct 07:09:45.929 # WARNING: The TCP backlog setting of 51l cannot be enforced because

/proc/sys/net/core/somaxconn is set o the lower value of 128.

18849:M 14 0ct 07:09:45.929 # Server initialized

18849:M 14 0ct 07:09:45.929 # WARNING overcommit_memory is set to 0! Background save may fail under low memory condition. To fix thi issue add 'vm.overcommit_memory = 1'to /etc/sysct1.conf and then reboot or run the command 'sysct1 vm.overcommit_memory=l' for this o take effect.

18849:M 14 0ct 07:09:45.929 # WARNING you have Transparent Huge Pages (THP) support enabled in your kernel. This will create latency nd memory usage issues with Redis. To fix this issue run the command 'echo never > /sys/kernel/mm/transparent_hugepage/enabled' as n t,and add it to your /etc/rc.local in order to retain the setting after a reboot. redis must be restarted after thp is disabled.

18849:m 14 0ct 07:09:45.947 * Db loaded from append only file: 0.018 seconds

18849:M 14 0ct 07:09:45.947 * Ready to accept connections

18849:m 14 0ct 07:09:46.740* Slave 127.0.0.1:6380 asks for synchronization

18849:m 14 oct 07:09:46.740+ Partial resynchronization not accepted: Replication ID mismatch (slave asked for '6f2eb3655226726elcel5b70be6aa7feb', my replication IDs are 'b07556221410543d92981c9e8e18c619eebf8e97’and "00000000000000000000000000000000000000

18849:M 14 oct 07:09:46.740 starting BGSAVE for sync with target: disk

18849:m 14 oct 07:09:46.741 * Background saving 'started by pid 18857.

18857:c 14 0ct 07:09:46.743 * DB saved on disk

18857:c 14 0ct 07:09:46.744 * RDB:O MB of memory used by copy-on-write

18849:M 14 0ct 07:09:46.783* Background saving terminated with success

18849:M 14 oct 07:09:46.783 * Synchronization with slave 127.0.0.1:6380 succeeded

接收到以上信息以后,去加载 RDB 的文件,连接 master,之后master  slave 的同步开始。接下来就是一个信息同步过程简单来说,这个过程都是在他整个启动过程中运行的,所以相对来说速度比较快,如果数据量比较大的时候,可以看到整个过程

 

二,数据同步阶段 master 说明

1.如果 master 数据量巨大,数据同步阶段应避开流量高峰期,避免造成 maste r阻塞,影响业务正常执行

2.复制缓冲区大小设定不合理,会导致数据溢出。如进行全量复制周期太长,进行部分复制时发现数据已经存在丢失的情况,必须进行第二次全量复制,致使 slave 陷入死循环状态

repl-backlog-size 1mb

3.master 单机内存占用主机内存的比例不应过大,建议使用508-708的内存,留下308-508的内存用于执行 bgsave 命令和创建复制缓冲区

 

三,数据同步阶段 slave 说明

1.为避免 slave 进行全量复制、部分复制时服务器响应阻塞或数据不同步,建议关闭此期间的对外服务

slave-serve-stale-data yes l no

2.数据同步阶段,master 发送给 slave 信息可以理解 master 是slave的一个客户端,主动向 slave 发送命令

3.多个 slave 同时对 master 请求数据同步,master 发送的 RDB文件增多,会对带宽造成巨大冲击,如果 master 带宽不足,因此数据同步需要根据业务需求,适量错峰

4.slave 过多时,建议调整拓扑结构,由一主多从结构变为树状结构,中间的节点既是 master,也是slave。注意使用树状结构时,由于层级深度,导致深度越高的 slave 与最顶层 master 间数据同步延迟较大,数据一致性变差,应谨慎选择。

相关文章
|
2天前
|
监控 关系型数据库 MySQL
深入了解MySQL主从复制:构建高效稳定的数据同步架构
深入了解MySQL主从复制:构建高效稳定的数据同步架构
16 1
|
2月前
|
SQL canal 关系型数据库
(二十四)全解MySQL之主从篇:死磕主从复制中数据同步原理与优化
兜兜转转,经过《全解MySQL专栏》前面二十多篇的内容讲解后,基本对MySQL单机模式下的各方面进阶知识做了详细阐述,同时在前面的《分库分表概念篇》、《分库分表隐患篇》两章中也首次提到了数据库的一些高可用方案,但前两章大多属于方法论,并未涵盖真正的实操过程。接下来的内容,会以目前这章作为分割点,开启MySQL高可用方案的落地实践分享的新章程!
851 1
|
消息中间件 存储 关系型数据库
PostqreSQL 表级复制-Londiste3多节点数据同步合 并到单节点|学习笔记
快速学习 PostqreSQL 表级复制-Londiste3多节点数据同步合并到单节点
220 0
PostqreSQL 表级复制-Londiste3多节点数据同步合 并到单节点|学习笔记
|
NoSQL 数据库 Redis
主从复制-工作流程(2)数据同步阶段(简)|学习笔记
快速学习主从复制-工作流程(2)数据同步阶段(简)
主从复制-工作流程(2)数据同步阶段(简)|学习笔记
|
SQL 数据采集 存储
电商项目之数据同步采集总结|学习笔记
快速学习电商项目之数据同步采集总结
电商项目之数据同步采集总结|学习笔记
|
SQL 数据采集 监控
电商项目之 Flume 数据同步操作|学习笔记
快速学习电商项目之 Flume 数据同步操作
电商项目之 Flume 数据同步操作|学习笔记
|
弹性计算 网络安全 数据库
3.数据同步网络连通实践 | 学习笔记
快速学习3.数据同步网络连通实践
|
数据采集 存储 运维
数据同步场景下的技术选型 | 学习笔记
快速学习数据同步场景下的技术选型
|
数据采集 缓存 Java
电商项目之 flume 数据同步总结|学习笔记
快速学习电商项目之 flume 数据同步总结
|
2月前
|
SQL DataWorks 关系型数据库
DataWorks操作报错合集之如何处理数据同步时(mysql->hive)报:Render instance failed
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。

热门文章

最新文章