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...
5条答案
按热度按时间ih99xse11#
麻烦在于抨击:实际上,Erlang通过ssh连接到节点,在非交互模式下调用默认的sh。但是当bash在非交互模式下启动时,它不读取存储我的路径变量和别名的.bashrc。所以我切换到zsh,现在一切都好了!)
tktrz96b2#
我相信这个化名
erl需要在你的路径上
而且,我相信您的. bashrc也不会执行,所以您可能必须将"erl"符号链接到/usr/bin或/usr/local/bin
y0u0uwnf3#
您似乎对start_link/3的Host字段使用了错误的格式;
它应该是一个表示主机的原子,节点名称(第二个参数,也是一个原子)应该从该主机开始,结果是节点名称@主机。
所以在你的情况下
u7up0aaq4#
我猜是Erlang饼干
你能ping n 002吗?如果能,那么这两个节点是否有相同的cookie?
例如,您可以尝试:erl -sname abc -rsh ssh -设置cookie机密cookie
%%所以这两个节点共享一个cookie
flseospp5#
只需使用
检查n002上的erl是否正常。