mysql ndb cluster 数据节点不同步,对同一查询的响应不同
myql ndb cluster data nodes not synced and different response to same query
我的一个 Sql 节点因 "too many connection error" 而失败,当使用 ndb_mgm 查看集群的状态时,我意识到数据节点 2 已关闭,因此我重新启动它并重新启动 sql 节点。 2 小时后 "starting" 数据节点 2 出现了,但是现在当我从求和中发出此查询 select count(*) 时,我第一次得到,可能有 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使用的内存
我的猜测是,在第一个查询 运行 中,我从一个数据节点获取结果,在第二个 运行 中,我从另一个数据节点获取结果。
如果是这种情况,我如何同步数据节点合并它们的数据?
听起来很像一个错误。同步一个节点,你
think is corrupt 通过执行初始节点来处理
重新开始。这将清除节点中的状态,它将
与保存其数据的其他节点同步。
但很明显验证事物是否已损坏很重要
首先.
我的一个 Sql 节点因 "too many connection error" 而失败,当使用 ndb_mgm 查看集群的状态时,我意识到数据节点 2 已关闭,因此我重新启动它并重新启动 sql 节点。 2 小时后 "starting" 数据节点 2 出现了,但是现在当我从求和中发出此查询 select count(*) 时,我第一次得到,可能有 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使用的内存
我的猜测是,在第一个查询 运行 中,我从一个数据节点获取结果,在第二个 运行 中,我从另一个数据节点获取结果。
如果是这种情况,我如何同步数据节点合并它们的数据?
听起来很像一个错误。同步一个节点,你 think is corrupt 通过执行初始节点来处理 重新开始。这将清除节点中的状态,它将 与保存其数据的其他节点同步。
但很明显验证事物是否已损坏很重要 首先.