Erlang:启动从节点

1u4esq0p  于 2022-12-08  发布在  Erlang
关注(0)|答案(5)|浏览(215)

I'm trying to start Erlang slave node on cluster and I receive bash: erl: command not found message. Though I have alias for erl. Here is what I actually do:

[user@n001 ~]$ erl -rsh ssh -sname n001    
Eshell V5.7.5  (abort with ^G)
    (n001@n001)1> slave:start_link("user@n002", n002, "-rsh ssh").
    bash: erl: command not found
                                {error,timeout}
    (n001@n001)2>

Maybe, there is something wrong? Thanks.
UPDATE:
I've added Erlang bin dir to my $PATH variable; I've set $ERLANG_ROOT_DIR variable; created symlink in ~/ to erl - but nothing have changed...
I have installed Erlang in ~/bin/erlang dir...

ih99xse1

ih99xse11#

麻烦在于抨击:实际上,Erlang通过ssh连接到节点,在非交互模式下调用默认的sh。但是当bash在非交互模式下启动时,它不读取存储我的路径变量和别名的.bashrc。所以我切换到zsh,现在一切都好了!)

tktrz96b

tktrz96b2#

我相信这个化名
erl需要在你的路径上
而且,我相信您的. bashrc也不会执行,所以您可能必须将"erl"符号链接到/usr/bin或/usr/local/bin

y0u0uwnf

y0u0uwnf3#

您似乎对start_link/3的Host字段使用了错误的格式;
它应该是一个表示主机的原子,节点名称(第二个参数,也是一个原子)应该从该主机开始,结果是节点名称@主机。
所以在你的情况下

slave:start_link('n002', 'n002', "-rsh ssh").
u7up0aaq

u7up0aaq4#

我猜是Erlang饼干
你能ping n 002吗?如果能,那么这两个节点是否有相同的cookie?
例如,您可以尝试:erl -sname abc -rsh ssh -设置cookie机密cookie
%%所以这两个节点共享一个cookie

flseospp

flseospp5#

只需使用

>ssh user@n002 erl

检查n002上的erl是否正常。

相关问题