簡體   English   中英

連接到遠程節點時,Erlang Observer崩潰

[英]Erlang Observer crashes when connecting to remote node

按照本教程,我已經使用rebar創建了一個簡單的erlang版本: http : //www.metabrew.com/article/erlang-rebar-tutorial-generating-releases-upgrades

我可以通過轉到dummynode / bin文件夾並運行來安裝和啟動虛擬節點:

dummynode install
dummynode start

在vm.args文件中,我已將節點名稱設置為dummynode@192.168.1.129

當我使用以下命令啟動另一個節點時:

erl -name cole@192.168.1.129 -setcookie dummynode

然后,我可以啟動erlang觀察器。 在“節點”菜單中,我看到列出了dummynode節點,但是當我嘗試連接時,觀察者崩潰。

我無法制作故障轉儲文件的開頭或結尾,但似乎erlang抱怨無法啟用分發。

我無法將節點與net_adm:ping / 1連接,也無法弄清楚觀察者為什么至少能夠看到分離的dummynode節點。

誰能解釋我如何連接到dummynode節點?

更新 :我已經確認cookie在兩個節點上都是相同的。 此外,AFAICT鋼筋還將觀察員及其所有依賴項打包到發行版中。

如果無法使用net_adm:ping / 1連接,請檢查兩個節點是否具有相同的cookie(erlang:get_cookie / 0)。

這兩個節點必須具有相同的cookie才能形成分布式系統,但是觀察者可以至少向您顯示計算機上存在的所有節點,即使它們沒有samme cookie。

觀察者需要在遠程節點上安裝一些模塊才能運行。 如果不在那里出現,它將以靜默方式崩潰。 我不記得是哪一個,因此您必須進行試驗,以便在目標分發中添加一些應用程序需求。

謎團已揭開! 它既不是Cookie也不是依賴關系問題。 生成的vm.args文件有一行:

-name dummynode@127.0.0.1

您認為這意味着如果我將節點名稱更改為類似

-name mynode@mydomain.com

然后,鋼筋將使用以下標志啟動運行時:

erl -name mynode@mydomain.com

不是這種情況。 事實證明,即使您調整節點名稱,鋼筋也總是使用-sname標志調用運行時(至少在Windows上)。 如果要在物理計算機上分布集群(使用帶-name標志的長名稱),則需要編輯生成的bin\\dummynode.cmd文件,並將所有-sname標志更改為-name

我已經向鋼筋小組提出了問題,但是我不知道他們是否認為這是一個錯誤。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM