首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >测试节点是否彼此可见?

测试节点是否彼此可见?
EN

Stack Overflow用户
提问于 2016-12-01 11:49:55
回答 1查看 378关注 0票数 1

我将如何检查部署的节点是否可以相互看见?我试着做:

代码语言:javascript
复制
mix edeliver ping production --verbose     

我得到了:

代码语言:javascript
复制
EDELIVER MY_IDEA WITH PING COMMAND

-----> pinging production servers



production node: 0

  user    : bitnami
  host    : xxx
  path    : /home/bitnami
  response: pong

production node: 1

  user    : bitnami
  host    : yyy
  path    : /home/bitnami
  response: pong

我的应用程序被部署到:

代码语言:javascript
复制
~/my_idea/releases/0.0.1

我知道这可以通过命令行在灵丹妙药中实现,使用erlang Nodes().?但是如何运行附加到正在运行的应用范围的控制台呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-12-02 15:09:11

我想你要找的是一个遥远的外壳。在Erlang中,我通常使用erl连接到远程节点:

代码语言:javascript
复制
erl -sname $short_name -setcookie $erlang_cookie -hidden -remsh $remote_node

当然,将$short_name替换为您选择的名称,并将要连接到的节点($remote_node)的cookie值替换为$erlang_cookie

在你的情况下,我会做这样的事情:

代码语言:javascript
复制
# Replace `node0` with the exact node name
erl -sname foobar -setcookie yourcookie -hidden -remsh node0 
# Once in the shell run:
1> net_adm:ping(node1). % Replace with the node name of the other node

如果得到pong,节点就可以通信。如果得到pang,则节点无法通信。您还可以尝试运行nodes()来获取连接节点的列表。

注意,除非必须连接,否则节点是不会连接的,因此,如果它们没有相互发送任何消息,您将得到一个空列表。对net_adm:ping/1的成功调用将导致nodes/0返回的列表中有一个节点。

有关详细信息,请参阅有关分布式Erlang的文档。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40909950

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档