1

窒素から同じマシン上の別のErlangノードへの呼び出しを試みています(現在、窒素コンソールからテストしていますが、最終的な目標は、webappからこの他のノードへの呼び出しを行うことです)。ホームディレクトリに.erlang.cookieファイルをセットアップしました。

最初に、他のノードを で開始してから、アプリケーションerl -name node_aloading およびing してから実行します。start

nitrogen@127.0.0.1> rpc:call(node_a@mymachine.fully.qualified.host, ps_bc, generate, [arglist]).

私にくれます

{badrpc, nodedown}

窒素コンソールで、そして

=ERROR REPORT==== 9-May-2012::14:25:28 ===
** Connection attempt from disallowed node 'nitrogen@127.0.0.1' ** 

node_aコンソールで。これは、Nitrogen が と同じ Cookie ファイルを読み取っていないことを意味していると思いますnode_a。Cookie を手動で設定する方法はありますか? 両方に同じ Cookie を設定せずに、2 つのノードを正常に動作させる方法はありますか?

4

3 に答える 3

1

はい、多くのerlangノードに同じCookieを使用する方法があります。この場合、すべてのノードに-setcookeやerlang:setcookie/1を使用しないでください。

私が持っている窒素の知識はありませんが、接続の問題である場合は、以下を確認してください

窒素ノードから

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

ノードから

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

Cookieが異なる場合は、-setcookieを使用してノードを起動します

~$erl -name node_a@127.0.0.1 -setcookie nitrogen_cookie
于 2012-05-09T20:57:05.103 に答える
1

思ったより単純ですが、スクリプト コード自体以外には文書化されていないようです。コマンド ライン オプションbin/nitrogenをそのまま受け入れます。どちらもここでは特に関係ありませんが、それも受け入れます。-setcookieerl-name-sname

bighostkim の方法を使用すると、デフォルトの窒素 Cookie は実際には " nitrogen" であることがわかります。したがって、別の (安全性の低い) オプションは、他のノードの Cookie を同じに設定することです。

誰かがこれを別の回答として掲載したい場合は、あなたの回答を受け入れることができるようにしてください(別の日に自分の回答を受け入れることはできません).

于 2012-05-10T02:48:03.147 に答える