我已经设置了一个带有基于磁盘的表的集群,包含2个数据节点,1个mgmt和2个sql节点。
群集工作正常...... 所以我只是想测试它的HA,所以我在linux提示符下用KILL命令手动杀死了一个datanode,我连接到sql节点并将一些记录插入到表中。
然后我尝试启动使用此命令杀死的datanode
bin / ndbd,不使用任何--initial
当我在managmnt节点上看到日志时 它显示以下错误,数据节点未启动:
/节点3:强制节点关闭完成。在startphase期间发生5.由错误2355引起:'无法恢复架构(资源配置错误)。永久性错误,需要外部行动'。
但是当我使用--initial时它会启动然后意味着从开始做一个干净的启动(复制所有数据文件会很费时,如果我们有100G那么?)
但我希望数据节点从停止(杀死)的点开始复制记录
我该怎么做?
答案 0 :(得分:1)
您遇到了一个不可恢复的错误(对于该节点,而不是整个群集),因此您别无选择,只能重建它。要避免这种情况,请安全地停止节点而不是终止进程。例如停止节点3运行:
ndb_mgm -e '3 stop'
但是要恢复,如果该节点组中的节点(您只有一个组)仍然可以从中恢复数据,则不会丢失数据。
首先启动节点组中的其他节点。
/bin/ndbd
检查它们是否已“启动”(或者您将丢失数据)
ndb_mgm -e show
在损坏的节点上用其他节点的数据
初始化它node 3> /bin/ndbd --initial