mysql ndb集群数据节点未同步且对同一查询的不同响应

Posted

技术标签:

【中文标题】mysql ndb集群数据节点未同步且对同一查询的不同响应【英文标题】:myql ndb cluster data nodes not synced and different response to same query 【发布时间】:2018-03-21 01:41:02 【问题描述】:

我的一个 Sql 节点因“连接错误太多”而失败,当使用 ndb_mgm 查看集群的状态时,我意识到数据节点 2 已关闭,因此我重新启动它并重新启动 sql 节点。在“启动”数据节点 2 2 小时后,它出现了,但现在当我发出此查询时,从 summantions 中选择计数(*),我第一次得到,可能是 107,000,000 行,但如果我再次运行查询,现在它显示大约 90,000,000。

内存使用情况如下:

已用节点内存 (GB) 可用 (GB)

2 数据存储器 39.16 40.84

2 索引内存 3.28 2.06

2 长消息缓冲区 0.00 0.03

3 数据存储器 44.92 35.08

3 索引内存 3.76 1.58

3 长消息缓冲区 0.00 0.03

数据节点2中使用的内存小于数据节点3中使用的内存。

我的猜测是,在第一次查询运行中,我从一个数据节点获取结果,而在第二次运行中,我从另一个数据节点获取结果。

如果是这种情况,如何同步数据节点合并其数据?

【问题讨论】:

【参考方案1】:

听起来很像一个错误。同步节点 通过执行初始节点来处理认为已损坏 重新开始。这将清除节点中的状态,它将 与保存其数据的其他节点同步。

但验证事物是否已损坏显然很重要 首先。

【讨论】:

以上是关于mysql ndb集群数据节点未同步且对同一查询的不同响应的主要内容,如果未能解决你的问题,请参考以下文章

使用“ndb --initial”会导致 MySQL 集群上的数据丢失?

MySQL集群配置

MySQL集群架构05分组复制架构和NDB集群架构

在 Ubuntu 上启动 mysql 集群管理节点 (ndb_mgmd) 时出错

MySQL 集群表未在数据节点上复制

Sonarqube - 使用 MySQL NDB 集群