缩小/缩放MySQL集群节点

时间:2016-09-23 03:03:32

标签: amazon-web-services autoscaling mysql-cluster

我正在尝试在aws autoscaling组中设置mysql集群。我开始时有两个ec2实例,每个实例都有自己的管理(ndb_mgmd),数据(ndbmtd)和sql(mysqld)节点。向外扩展时(我已经配置了实时扩展,它工作正常),它再添加两个ec2实例(因为ndbd的复制数设置为2)并创建一个新的节点组。

现在由于我无法控制在缩放事件期间aws关闭的确切实例,因此它总是取出整个节点组,使群集无效并导致其崩溃。

从我可以看到,mysql集群并不是真正设计为在线扩展,但是有没有办法实现这一点而不需要整个系统进行维护?我们的想法是在横向扩展期间向集群添加新的相同实例,并在aws自动扩展组触发的扩展事件期间关闭实例。

如果我错过任何细节,请告诉我,欢呼!

这是初始配置的样子:

Cluster Configuration
---------------------
[ndbd(NDB)]     2 node(s)
id=1    @10.0.0.149  (mysql-5.6.31 ndb-7.4.12, Nodegroup: 0, *)
id=2    @10.0.0.81  (mysql-5.6.31 ndb-7.4.12, Nodegroup: 0)

[ndb_mgmd(MGM)] 2 node(s)
id=101  @10.0.0.149  (mysql-5.6.31 ndb-7.4.12)
id=102  @10.0.0.81  (mysql-5.6.31 ndb-7.4.12)

[mysqld(API)]   2 node(s)
id=51   @10.0.0.149  (mysql-5.6.31 ndb-7.4.12)
id=52   @10.0.0.81  (mysql-5.6.31 ndb-7.4.12)

这是同一群集的扩展版本(+2个实例)的示例:

Cluster Configuration
---------------------
[ndbd(NDB)]     4 node(s)
id=1    @10.0.0.149  (mysql-5.6.31 ndb-7.4.12, Nodegroup: 0, *)
id=2    @10.0.0.81  (mysql-5.6.31 ndb-7.4.12, Nodegroup: 0)
id=3    @10.0.0.151  (mysql-5.6.31 ndb-7.4.12, Nodegroup: 1)
id=4    @10.0.0.83  (mysql-5.6.31 ndb-7.4.12, Nodegroup: 1)

[ndb_mgmd(MGM)] 4 node(s)
id=101  @10.0.0.149  (mysql-5.6.31 ndb-7.4.12)
id=102  @10.0.0.81  (mysql-5.6.31 ndb-7.4.12)
id=103  @10.0.0.151  (mysql-5.6.31 ndb-7.4.12)
id=104  @10.0.0.83  (mysql-5.6.31 ndb-7.4.12)

[mysqld(API)]   4 node(s)
id=51   @10.0.0.149  (mysql-5.6.31 ndb-7.4.12)
id=52   @10.0.0.81  (mysql-5.6.31 ndb-7.4.12)
id=53   @10.0.0.151  (mysql-5.6.31 ndb-7.4.12)
id=54   @10.0.0.83  (mysql-5.6.31 ndb-7.4.12)

0 个答案:

没有答案