从 mnesia 集群中删除 not_exist_already 节点(方案)
当我得到以下信息时,我的 mnesia 集群数据中有一个坏节点(它不存在):
> mnesia:system_info(db_nodes)
[bad@node, ...]
如何将其从集群中删除?
我试了一下:
> mnesia:del_table_copy(scheme, bad@node).
{aborted,{not_active,"All replicas on diskfull nodes are not active yet"...
这是什么意思?我该如何修复它?
更新。在从模式中删除节点之前,我们需要停止它的 mnesia
I have a bad node (it doesn't exist) in the mnesia cluster data when I get:
> mnesia:system_info(db_nodes)
[bad@node, ...]
How do I remove it from the cluster?
I tried:
> mnesia:del_table_copy(scheme, bad@node).
{aborted,{not_active,"All replicas on diskfull nodes are not active yet"...
What does this mean? How can I fix it?
Update. Before remove node from schema we need to stop mnesia on it
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
几年前我也遇到过类似的问题。你想要做的是删除一个离线节点,据我所知,这在 mnesia 的早期版本中是不可能的。
不过,您可以使用名为
bad@node
的虚拟节点连接到集群,并从调整后的原始集群节点的system.config
开始。一旦它在线,就从集群中删除。I had a similar problem years ago. What you are trying to do is remove an offline node, which as far as I am aware was impossible in earlier versions of mnesia.
You can however connect to the cluster using a dummy node named
bad@node
, and started with a tweakedsystem.config
of the original clustered node. Once its online remove from the cluster.