歡迎您光臨本站 註冊首頁

Erlang分散式在linux和windows系統間應該注意的問題

←手機掃碼閱讀     火星人 @ 2014-03-29 , reply:0

沒事做,就在兩台機器間測試下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分散式在linux和windows系統間應該注意的問題已經有537次圍觀

http://coctec.com/docs/linux/show-post-201745.html