閱讀979 返回首頁    go 阿裏雲 go 技術社區[雲棲]


Erlang分布式在linux和windows上的注意事項

  沒事做,就在兩台機器間測試下Erlang分布式的例子,一個台是windowsXP,一台裝的redHat9,沒有詳細的文檔,自己摸索著搞成功了,記錄下。

1.首先,分布式Erlang的實現提供了自有的安全機製來預防未經授權的Erlang係統訪問。Erlang係統與別的機器進行交互時必須有同樣的magic cookie,保存在一個稱為.erlang.cookie的文件中,為了在兩台不同機器間測試,需要編輯一份.erlang.cookie,內容隨便,比如:
just_test

然後將這份文件拷貝到windows環境變量HOMEPATH所在的目錄 ,比如我的是C:\Documents and Settings\Admin,而linux拷貝到環境變量$HOME指向的目錄,比如我這裏是/root。特別注意一點,linux的.erlang.cookie文件需要設置權限為-r--------,也就是400,僅所有者可讀:
chmod 400 .erlang.cookie

2.因為Erlang中的node名稱是name@host,host是計算機名,因此在兩台機器上都需要將計算機名和ip加進hosts文件,這個文件在linux下是在/etc/hosts,你可以用vi編輯如下:
127.0.0.1  localhost localhost
x.x.x.x    zane      zane
   #windows機器的ip和計算機名
,hosts在windows係統的C:\WINDOWS\system32\drivers\etc目錄下,編輯:
127.0.0.1       localhost
x.x.x.x   dennis 
#linux機器的名稱和ip


3.第三步,要啟動節點,通過命令erl -sname 或者erl -name,在此之前需要啟動epmd進程,它負責映射符號名到機器地址
在兩個機器都執行:
epmd -daemon

4.至此配置完成,可以測試下Erlang分布式編程在不同的機器和係統之間了(比如《Erlang入門(三)--分布式編程》中的ping pong例子),very cool!

文章轉自莊周夢蝶  ,原文發布時間2007-6-29

最後更新:2017-05-17 15:31:15

  上一篇:go  vi常用命令
  下一篇:go  企業網站建設相關問題解答