我正在使用复制的 mnesia 数据库运行两个 erlang 节点。每当我尝试启动其中一个而 mnesia 未在另一个上运行时,mnesia:wait_for_tables(?TABS,?TIMEOUT) 会挂在调用它的节点上。我需要有一个结构(如果两个节点都没有运行),我可以在另一个节点关闭时开始使用一个节点,然后决定启动另一个节点但继续正常工作。我需要确保正在运行的第一个节点在稍后启动时已更新。这是否一定要求我有一个作为主人?
%%% 已编辑.............................. .....................................
哦,我明白了。我使用的数据库有几个零散的表。一些片段已经分布在网络上以实现负载平衡。因此,一台主机上的 Mnesia 会尝试通过网络加载它们,但由于另一台主机上的 mnesia 已关闭而失败!
我想这与 mnesia 主节点无关。但是我仍然很想了解它的意义,因为我以前没有使用过它,但是,我总是使用分布式模式。
再次感谢...