erlang 在分布式rebar 3应用程序上初始化/同步记忆

rkue9o1l  于 2023-03-11  发布在  Erlang
关注(0)|答案(1)|浏览(90)

我有一个rebar3应用程序,它可以启动Mnesia DB。
我想在另一个节点上备份这个DB,所以我将代码复制到另一台计算机上,并尝试根据thisthis同步节点。
不幸的是我得到了:
Mnesia('node1@pc1'): ** ERROR ** mnesia_event got {inconsistent_database, running_partitioned_network, 'node2@pc2'}
我在代码中设置cookie,DB是相同的,所以这对我来说没有意义。错误转储中的cookie有点不同。
帮助将不胜感激。

azpvetkf

azpvetkf1#

我修复了我的问题,显然我没有遵循正确的启动协议:
根据Mnesia doc,所有节点都启动一个空模式,然后主节点创建具有相关节点的模式,然后节点之间有一个同步/连接消息。
这意味着每个节点在启动时都必须检查自己是否是主节点并创建模式,或者只进行init mnesia。

相关问题