我有一个应用程序,我想运行分布在两个节点上(一个主节点和一个故障转移节点)。
每个节点都有两个配置文件。
现在,我使用以下命令在两个节点上运行应用程序:
rebar3 shell --sname a --config a
rebar3 shell --sname b --config b
问题是应用程序在两个节点上启动,因为我认为在发出rebar
命令时它们没有预先连接。
配置文件
第一次
在使用rebar shell
时/之后连接节点的策略是什么?是否有任何方法创建脚本或其他东西?
我只想连接节点,但只有主节点启动时应用程序启动,而第二个节点在第一个节点崩溃时接管。
1条答案
按热度按时间2nbm6dog1#
要连接两个或多个节点,您还需要为每个节点设置相同的cookie。然后通过net_adm:ping/1 ping这些节点。下面是一个示例(预计终端将同时启动):
1号航站楼:
2号航站楼:
如您所见,当您运行它时-我们没有任何节点。现在让我们尝试使用
net_adm:ping/1
来连接它们。Terminal #1:2号航站楼:
另外,我想你可以加入https://erlangforums.com/-在Erlang社区论坛中,你可以很快找到任何与Erlang/OTP相关的问题的答案。P.S.名称和cookie也可以通过
vm.args
file设置。