Erlang badrpc,nodedown 在进行 rpc:call 时出错
Posted
技术标签:
【中文标题】Erlang badrpc,nodedown 在进行 rpc:call 时出错【英文标题】:Erlang badrpc,nodedown error while making rpc:callErlang badrpc,nodedown 在进行 rpc:call 时出错 【发布时间】:2018-06-11 05:13:30 【问题描述】:我有两个带有不同 cookie 的节点。我正在尝试拨打电话,如下所述,但我每次都收到 badrpc,nodedown。
onenode@localhost>rpc:call(othernode@localhost,erlang,system_info,[otp_release]).
我曾尝试在 google 上查找并最终通过以下链接进行尝试,但仍然“没有成功”。
以下是我尝试过的一些链接:
Link 1
Link 2
Link 3
你能帮帮我吗?
EDIT -1 :两个节点都托管在本地主机中。
【问题讨论】:
【参考方案1】:在执行 rpc 调用到具有不同 cookie 的节点之前,您必须执行以下函数
erlang:set_cookie(other_node@localhost, other_node_cookie).
更多信息:http://erlang.org/doc/reference_manual/distributed.html
【讨论】:
【参考方案2】:根据rpc.erl,它使用gen_server
模块进行通用erlang调用,gen_server
使用gen.erl
模块进行调用,here使用noconnect
选项作为erlang:send/3
的选项。
根据 Erlang 文档:
如果目标节点必须自动连接才能进行发送,则返回 noconnect。
另一个问题是不同的cookie。根据 Erlang 文档:
当一个节点尝试连接到另一个节点时,会比较魔术 cookie。如果它们不匹配,则连接的节点拒绝连接。
因此,如果节点之间没有任何连接,则您的调用不会创建一个,并且您无法使用不同的 cookie 连接 Erlang 节点。
【讨论】:
以上是关于Erlang badrpc,nodedown 在进行 rpc:call 时出错的主要内容,如果未能解决你的问题,请参考以下文章
Rabbitmq 服务启动后停止 | Windows下启动报错Error: unable to connect to node rabbit@xxx: nodedown
[Linux]RabbitMQ - 解决Error: unable to connect to node rabbit@localhost: nodedown
Windows XP 上的 rabbitmqctl.bat:无法连接到节点 rabbit@MYPCNAME:nodedown
OpenStack错误:Error: unable to connect to node rabbit@localhost: nodedown