2013-11-15 45 views
0

我已经建立了一个基于磁盘的表,有2个datanodes,一个mgmt和2个sql节点。启动数据节点没有 - 初始mysql集群

Cluster is working fine ... 所以我只想测试它的HA,所以我在linux提示符下用KILL命令手工杀死了一个datanode,并且我连接到了sql节点并在表中插入了一些记录。

我然后试图启动数据管理部,其余与此命令杀死

仓,而无需使用任何--initial

/NDBD当我看到managmnt节点 上的日志它显示下面的错误和数据节点没有启动:

/节点3:强制节点关闭完成。在开始阶段发生5.由错误2355导致:'无法恢复模式(资源配置错误)。永久性错误,需要外部行动'。

但是当我使用--initial启动,则意味着做,从开始一个干净的开始(这将是耗时拷贝所有的数据文件,如果我们有100G?)

但我想要的数据节点开始复制记录从它停止(杀害)的点

我该怎么做?

回答

1

您遇到了不可恢复的故障(对于该节点,而不是整个集群),因此您别无选择,只能重建它。为了避免这种情况,请安全地停止节点而不是杀死进程。例如停止节点3执行命令

ndb_mgm -e '3 stop' 

但是复苏也不会丢失数据,如果该节点组中的节点(你只有一组)仍然上涨,从恢复数据。

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

/bin/ndbd 

检查他们是“开始”(否则你会丢失数据)

ndb_mgm -e show 

在腐败的节点与其他节点的数据

node 3> /bin/ndbd --initial 
+0

初始化它可是难道不这样要求的节点3检索数据的新鲜副本,即使它们已经提交了吗? –

+0

正确。我想我应该更新答案,说如何避免这个......完成 – KCD