zoukankan      html  css  js  c++  java
  • PXC增量恢复添加节点(IST)

    绕开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

  • 相关阅读:
    prototype 和function关系等总结
    js作用域的几个问题
    关于对象引用的作用域
    深刻理解下js的prototype
    如何判断一个对象是数组
    理解js的几个关键问题(2): 对象、 prototype、this等
    更新触发器
    sql事物和try catch
    图片与base64编码互换
    UCML点击BPO报异常
  • 原文地址:https://www.cnblogs.com/ijia/p/10854465.html
Copyright © 2011-2022 走看看