2012-05-09 45 views
1

我正嘗試從氮氣調用到同一臺機器上的一個單獨的Erlang節點(目前正在從氮氣控制檯進行測試,但最終目標是從webapp調用另一個節點)。我的主目錄中有一個.erlang.cookie文件。氮中的Erlang餅乾

第一次嘗試,在啓動其他節點與erl -name node_a,然後load荷蘭國際集團和start荷蘭國際集團的應用程序,然後做

[email protected]> rpc:call([email protected], ps_bc, generate, [arglist]). 

給我

{badrpc, nodedown} 
中的氮控制檯

,並

=ERROR REPORT==== 9-May-2012::14:25:28 === 
** Connection attempt from disallowed node '[email protected]' ** 

node_a控制檯。我認爲這意味着氮氣不會讀取與node_a相同的cookie文件。有沒有辦法手動設置它的cookie?有沒有一種方法讓兩個節點玩得很好,而不用爲兩者設置相同的cookie?

回答

2

指定Erlang cookie的推薦位置是在etc/vm.args中。第一行應該是-setcookie行。

在作品中有新的文檔將正確的文檔指定erlang cookie。感謝您指出它實際上沒有記錄在任何地方。實際上,新的文檔將包含一個完整的配置設置部分來幫助這種事情。再次感謝!

配置的「現成」文檔目前可在https://github.com/choptastic/nitrogen_core/blob/config-docs/doc/org-mode/config.org找到(請注意,這個文檔是 raw)。

編輯:現在正式記錄在這裏:http://nitrogenproject.com/doc/config.html

1

是的,有一種方法可以爲許多erlang節點使用相同的cookie。對於這種情況,您不得對所有節點使用-setcooke,也不要使用erlang:setcookie/1。

沒有氮的知識,我也有,但如果它是連接問題,請檢查以下

氮節點

> node(). 
> erlang:get_cookie(). 

從您的節點

> node(). 
> erlang:get_cookie(). 

如果cookie是不同的,使用-setcookie啓動節點

~$erl -name [email protected] -setcookie nitrogen_cookie 
1

比我想象的要簡單,儘管它似乎沒有記錄在腳本代碼本身以外的任何地方; bin/nitrogen接受-setcookie命令行選項,就像erl一樣。它也接受-name-sname,雖然在這裏都沒有特別相關。

使用bighostkim的方法告訴我,默認氮cookie是,事實上,「nitrogen」,那麼另一個(不太安全)選項是其他節點的cookie設置爲相同的。

如果有人想把這個作爲一個單獨的答案,繼續,讓我可以接受你的(我不能接受我自己的另一天)。