2010-09-13 60 views
36

我在Mnesia的集羣數據壞節點(不存在)not_exist_already節點時,我得到:刪除從函數mnesia集羣(方案)

> mnesia:system_info(db_nodes) 
[[email protected], ...] 

如何從集羣中刪除嗎?

我想:

> mnesia:del_table_copy(scheme, [email protected]). 
{aborted,{not_active,"All replicas on diskfull nodes are not active yet"... 

這是什麼意思?我該如何解決它?

更新。在從模式中刪除節點之前,我們需要停止mnesia

+1

一般來說,IIRC,如果有一個節點關閉或不活動,Mnesia不會打擾做任何形式的連接或同步,直到它恢復。如果有任何理由不得不將它從集羣中刪除而不是忽略它?如果你需要刪除它,你能澄清一下爲什麼? – Olives 2010-09-13 22:14:46

+0

我計劃chnage短節點名稱長,我afaid這個壞節點會麻煩。我錯了嗎? – vinnitu 2010-09-14 05:26:42

+0

我不是100%肯定的,但我不認爲這會是一個問題。我相信mnesia會檢查是否壞節點已經啓動,它將無法連接到它,所以它會忽略它。所以這將是我的建議。但是,如果我錯了(可能是這種情況),我們可以嘗試弄明白。 – Olives 2010-09-14 18:23:49

回答

1

在幾年前我有類似的問題。你想要做的是去掉一個脫機節點,據我所知在mnesia的早期版本中是不可能的。

然而,您可以使用名爲[email protected]的虛擬節點連接到羣集,並使用原始羣集節點的調整system.config開始。一旦它在線從羣集中刪除。