2016-11-28 6 views
4

amazon EC2インスタンスを使用してクラスタを構築しようとしています。erlangクラスタを作成するためのホスト名

各ノードのホスト名を.hosts.erlangファイルのリストに設定する必要がありますか。

現在、各ノードの.hosts.erlangがあります:ノードのプライベートDNSある

'ip-10-0-23-186.eu-central-1.compute.internal'. 
'ip-10-0-5-10.eu-central-1.compute.internal'. 

を。

とノードのvm.argsで、私はこのようなものがあります:

-name [email protected] 

を私は完全なプライベートDNSにホスト名を変更しようとしたが、それだけに変更:

ip-10-0-5-10

クラスタが空であることを確認しました。

$ erl 
Erlang/OTP 19 [erts-8.0] [source] [64-bit] [smp:4:4] [async-threads:10] [kernel-poll:false] 

Eshell V8.0 (abort with ^G) 
1> nodes(). 
[] 

私はedliverを使ってアプリケーションをデプロイしていますが、erlangが期待されるクラスタを作成しない理由をデバッグする方法はありますか?

は私がIEXで試してみました:

iex(3)> hosts_path = Path.expand("/home/admin/.hosts.erlang") 
"/home/admin/.hosts.erlang" 
iex(4)> :net_adm.world(:verbose) 
[] 

編集

私は .hosts.erlangを読み取ることができることを確認することができ

iex(2)> File.read("/home/admin/.hosts.erlang") 
{:ok, 
"'ip-10-0-23-186.eu-central-1.compute.internal'.\n'ip-10-0-5-10.eu-central-1.compute.internal'.\n\n"} 

私は実行する必要が特定のフォルダーがありますからエル?

ブラウザでは、正常に動作しているアプリが表示されますが、クラスタについてはわかりません。助けてください!私はAWSを使用していたよう

が、ここで私は、現在の午前セキュリティグループである:

enter image description here

+0

(あなたが 'Path.expandを行うには( "〜/ .hosts/.erlangを")もしかして' IEXスニペットに?あなたもそれに 'File.read'を行うことができ、ちょうど確認するには?) – Dogbert

+0

上記の編集を参照してください。 – simo

+0

開始名前のついていないerlを持つシェルを作成すると、配布されていないローカルノードが開始されます。 'mixed edeliver ping production'(またはステージング、あなたがテストしている環境に依存する)を実行するときの出力は何ですか? –

答えて

1

[OK]を、私は解決策を見つけ、私はでhostsファイル内のノードのIPアドレスを定義する必要がありました各ノードの/etc/hosts

10.0.23.186 ip-10-0-23-186.eu-central-1.compute.internal 
10.0.5.10 ip-10-0-5-10.eu-central-1.compute.internal 
関連する問題