绕开SST通过IST方式添加NodePercona XtraDB Cluster

 Gcache存储了所有的  writeset ,因此说这个集合的大小直接决定了允许其他节点宕机后多长时间内可以进行ist 同步。

对于大库,高并发环境建议通过备份+binlog建立大的DB节点,减少生产库抖动。

计算Gcache尺寸

show global status like 'wsrep_received_bytes';

show global status like 'wsrep_replicated_bytes';

select sleep(60);

show global status like 'wsrep_received_bytes';

show global status like 'wsrep_replicated_bytes';

| wsrep_received_bytes | 83976571 |

| wsrep_replicated_bytes | 0     |

[...]

| wsrep_received_bytes | 90576957 |

| wsrep_replicated_bytes | 800   |

每分钟数据写入:

(second wsrep_received_bytes – first wsrep_received_bytes) + (second wsrep_replicated_bytes – first wsrep_replicated_bytes)

(90576957 – 83976571) + (800 – 0) = 6601186 bytes or 6 MB per minute.

每小时数据写入:

6MB * 60 minutes = 360 MB per hour of writesets received by the cluster.

默认是128M,适当调大gcache可以减少SST情况的发生,因为gcache是内存映射文件,因此会占用内存,建议设置16G

 

服务器

premysql24103 10.2.24.103  节点1 主写

premysql24102 10.2.24.102  节点2

premysql24101 10.2.24.101  新加入pxc节点

 

1.在premysql24103用innobackupex 加--galera-info做完整备份,并且拷贝到premysql24101

备份命令 innobackupex --user=root --password=111111 --defaults-file=/etc/my.cnf --socket=/data/mysql/mysql.sock --galera-info   --no-timestamp --stream=tar /data/mysql_bak 2>/data/mysql_bak/innobak.log | gzip   1>/data/mysql_bak/newpre_mysql_full_20151027.tar.gz

2.在premysql24101还原完整备份

并且查看新节点当前的事务号

命令/usr/local/mysql56cluster/bin/mysqld_safe  --wsrep-recover

 

3.在premysql24103和premysql24102查看每个节点的gcache中保存的最小事务号。

执行show global status like 'wsrep_local_cached_downto';

确定节点1节点2在gcache中的事务号包含新节点的事务号,也就是节点1节点2在gcache中的事务号小于新节点的事务号。

 

4.如果premysql24103的事物号小于新节点

则从premysql24103 数据目录拷贝grastate.dat 到 premysql24101数据目录

查看premysql24101服务器的xtrabackup_galera_info文件确定事物号

修改premysql24101 的grastate.dat 文件的seqno:   事务号,

并且chown mysql:mysql grastate.dat 。

启动premysql24101

/etc/init.d/mysqld_3306 start --wsrep_sst_donor=10.2.24.103

PXC增量恢复添加节点(IST)的更多相关文章

  1. pxc增量恢复

    解流 xbstream -x < fullbackup2.xbstream -C /data/fullbackup xbstream -x < fullbackup2.xbstream - ...

  2. (转)通过MySQL复制线程SQL_Thread加快增量恢复binlog

    数据回档常常是使用全量备份+binlog增量实现的.而数据量很大的情况下,增量恢复binlog一直是一个苦恼的问题,因为恢复binlog速度十分慢,并且容易出错. 恢复binlog文件一般有两种方法: ...

  3. Oracle DataGuard主库丢失归档日志后备库的RMAN增量恢复一例

    第一部分  问题描述和环境状态确认 ----1. 问题场景 Oracle DataGuard主库丢失archivelog,如何不重建备库完成同步? 在Oracle DataGuard主从同步过程中可能 ...

  4. JQuery 添加节点

    Mark一段自己写的添加节点的代码 function reply2(){ $( "<div class=sec1-div5>"+"<div class= ...

  5. jquery 添加节点的几种方法介绍

    <html> <head> <meta http-equiv="Content-Type" content="text/html; char ...

  6. js实现在末尾添加节点

    在末尾添加节点: 1.获取ul标签 2.创建li标签 document.createElement("标签名称")方法 3.创建文本 document.createTextNode ...

  7. JavaScript案例二:在末尾添加节点

    简单实现通过JavaScript来增加HTML节点 <!DOCTYPE html> <html> <head> <title>JavaScript在末尾 ...

  8. 向html中添加节点

    简单: ①,js中: (function () { var box=document.querySelector("#box"); var con1=document.create ...

  9. 警惕rapidxml的陷阱:添加节点时,请保证变量的生命周期

    http://www.cnblogs.com/chutianyao/p/3246592.html 项目中要使用xml打包.解析协议,HQ指定了使用rapidxml--号称是最快的xml解析器. 功能很 ...

随机推荐

  1. 什么是 FOUC(无样式内容闪烁)?你如何来避免 FOUC?

    css引入了@import 或者存在多个style标签以及css文件在页面底部 使得css文件加载在html之后导致页面闪烁.花屏 用link加载css文件,放在head标签里面

  2. 每日Android一问等你来解答-什么是Activity的生命周期?

    关注我,每天都有优质技术文章推送,工作,学习累了的时候放松一下自己. 本篇文章同步微信公众号 欢迎大家关注我的微信公众号:「醉翁猫咪」 什么是Activity的生命周期? 生命周期: 对于生命周期我们 ...

  3. array.includes的使用

    看看某个值在不在这个数组里面,是个完整的数 var array1 = [1, 2, 3]; console.log(array1.includes(2)); // expected output: t ...

  4. Linux 上配置 AG

    SQL Server Always On Availability Group 配置步骤:配置三台 Linux 集群节点创建 Availability Group配置 Cluster Resource ...

  5. Java 12 骚操作, String居然还能这样玩!

    Java 13 都快要来了,12必须跟栈长学起! Java 13 即将发布,新特性必须抢先看! 栈长之前在Java技术栈微信公众号分享过<Java 11 已发布,String 还能这样玩!> ...

  6. 微信小程序之使用checkbox

    效果图如下: 实例代码如下:type_add.js // pages/detail_add/detail_add.js Page({ /** * 页面的初始数据 */ data: { selectDa ...

  7. 刷题记录:[ByteCTF 2019]EZCMS

    目录 刷题记录:[ByteCTF 2019]EZCMS 一.知识点 1.源码泄露 2.MD5长度扩展攻击 3.php://filter绕过正则实现phar反序列化 刷题记录:[ByteCTF 2019 ...

  8. var let const区别

      var let const 可否同一作用域下声明同名变量 可以 不可以 不可以 声明的变量是否会挂载到window上 会 不会 不会 声明变量是否存在变量提升 存在 不存在(变量必须声明之后才能使 ...

  9. Alpha3

    队名:福大帮 组长博客链接:https://www.cnblogs.com/mhq-mhq/p/11899921.html 作业博客 :https://edu.cnblogs.com/campus/f ...

  10. python实现读取并显示图片的两种方法

    https://www.cnblogs.com/lantingg/p/9259840.html 在 python 中除了用 opencv,也可以用 matplotlib 和 PIL 这两个库操作图片. ...