4
我正在尝试使用amazon EC2实例构建集群。用于创建erlang集群的主机名
是否必须将每个节点的主机名设置为.hosts.erlang
文件中列出的内容?
目前,.hosts.erlang
每个节点有:
'ip-10-0-23-186.eu-central-1.compute.internal'.
'ip-10-0-5-10.eu-central-1.compute.internal'.
这是节点的私有DNS。
,并在节点的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"}
是没有办法,我要运行一个特定的文件夹erl来自?
在浏览器中,我可以看到应用程序正常工作,但我不知道有关群集..请帮助!
由于我使用AWS,这里是安全组我对目前:
(你的意思是做'Path.expand( “〜/ .hosts/.erlang”)'在IEX段?你能不能也做'File.read'就可以了,只是以确认?) – Dogbert
请参阅上面的编辑 – simo
按开始用erl命名一个没有名字的shell,你只是启动一个没有发布的本地节点。当您运行'mix edeliver ping production'(或分段,取决于您正在测试的环境)时,输出是什么? –