绕开SST通过IST方式添加Node到Percona XtraDB Cluster

Posted ijia

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了绕开SST通过IST方式添加Node到Percona XtraDB Cluster相关的知识,希望对你有一定的参考价值。

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

技术图片

 

以上是关于绕开SST通过IST方式添加Node到Percona XtraDB Cluster的主要内容,如果未能解决你的问题,请参考以下文章

给PXC集群加密

从SST通过脚本安装证书,自动选择证书存储

PXC 避免加入集群时发生SST

如何使用 += 运算符将字符添加到链表?

PXC添加新节点

如何绕开验证码(原理)