Erlang: стартовый ведомый узел

Я пытаюсь запустить erlang ведомый узел на кластере, и я получаю "удар: Эрл: команда, не найденная" сообщение. Хотя у меня есть псевдоним для Эрл. Вот то, что я на самом деле делаю:

[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>

Возможно, существует что-то не так?Спасибо.

ОБНОВЛЕНИЕ: я добавил erlang dir мусорного ведра к своей переменной $PATH; я установил переменную $ERLANG_ROOT_DIR; созданная символьная ссылка в ~ / в Эрл - но ничто не изменилось... Btw, я установил erlang в ~/bin/erlang dir...

5
задан Amro 2 July 2012 в 07:28
поделиться

4 ответа

Проблема была в bash: На самом деле erlang подключается к node через ssh, вызывая sh по умолчанию в неинтерактивном режиме. Но когда bash запускается в неинтерактивном режиме, он не читает .bashrc, где находятся мои переменные пути и псевдонимы сохраняются. Итак, я переключился на zsh, и теперь все в порядке! ;)

2
ответ дан 15 December 2019 в 00:55
поделиться

Я считаю, что псевдоним не будет соблюдаться

erl должен действительно быть на вашем пути

Кроме того, я считаю, что ваш .bashrc также не выполняется. Таким образом, вам может потребоваться символическая ссылка "erl" на / usr / bin или / usr / local / bin

1
ответ дан 15 December 2019 в 00:55
поделиться

Похоже, вы используете неправильный формат для поля Host в start_link / 3;

Это должен быть атом, представляющий хост, на котором должно быть запущено имя узла (второй параметр, также атом), в результате получается имя узла @ Host.

Итак, в вашем случае это будет

slave:start_link('n002', 'n002', "-rsh ssh").
1
ответ дан 15 December 2019 в 00:55
поделиться

Думаю, это cookie Erlang.

вы можете проверить связь с n002? если да, то есть ли у двух узлов одинаковые cookie?

например, вы можете попробовать: erl -sname abc -rsh ssh -setcookie secretcookie

erl> slave: start (n002, name, "-setcookie secretcookie"). %%, поэтому эти два узла используют общий файл cookie

0
ответ дан 15 December 2019 в 00:55
поделиться
Другие вопросы по тегам:

Похожие вопросы: