0

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

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

然后我尝试启动我用这个命令杀死的datanode

bin/ndbd 不使用任何 --initial

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

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

但是当我使用 --initial 它启动时,它意味着从头开始(如果我们有 100G 的话,复制所有数据文件会很耗时?)

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

我该怎么做呢?

4

1 回答 1

1

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

ndb_mgm -e '3 stop'

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

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

/bin/ndbd

检查它们是否“开始”(否则您将丢失数据)

ndb_mgm -e show

在损坏的节点上用其他节点的数据初始化它

node 3> /bin/ndbd --initial
于 2014-03-25T00:04:28.447 回答