在没有--initial mysql cluster的情况下启动数据节点

时间:2013-11-15 18:03:47

标签: mysql mysql-cluster

我已经设置了一个带有基于磁盘的表的集群,包含2个数据节点,1个mgmt和2个sql节点。

群集工作正常...... 所以我只是想测试它的HA,所以我在linux提示符下用KILL命令手动杀死了一个datanode,我连接到sql节点并将一些记录插入到表中。

然后我尝试启动使用此命令杀死的datanode

bin / ndbd,不使用任何--initial

当我在managmnt节点上看到日志时 它显示以下错误,数据节点未启动:

/节点3:强制节点关闭完成。在startphase期间发生5.由错误2355引起:'无法恢复架构(资源配置错误)。永久性错误,需要外部行动'。

但是当我使用--initial时它会启动然后意味着从开始做一个干净的启动(复制所有数据文件会很费时,如果我们有100G那么?)

但我希望数据节点从停止(杀死)的点开始复制记录

我该怎么做?

1 个答案:

答案 0 :(得分:1)

您遇到了一个不可恢复的错误(对于该节点,而不是整个群集),因此您别无选择,只能重建它。要避免这种情况,请安全地停止节点而不是终止进程。例如停止节点3运行:

ndb_mgm -e '3 stop'

但是要恢复,如果该节点组中的节点(您只有一个组)仍然可以从中恢复数据,则不会丢失数据。

首先启动节点组中的其他节点。

/bin/ndbd

检查它们是否已“启动”(或者您将丢失数据)

ndb_mgm -e show

在损坏的节点上用其他节点的数据

初始化它
node 3> /bin/ndbd --initial