簡體   English   中英

Erlang:以編程方式啟動遠程節點

[英]Erlang: starting a remote node programmatically

我知道可以從shell啟動節點。 我正在尋找的是一種從模塊內啟動遠程節點的方法。 我搜索過,但一直都找不到。

任何幫助表示贊賞。

有一個pool(3)設施:

pool可用於將一組Erlang節點作為計算處理器池運行。 它被組織為主節點和一組從節點。

pool:start/1,2啟動一個新池。 讀取文件.hosts.erlang以查找可以啟動池節點的主機名。 從節點以slave:start/2,3 ,傳遞Name ,如果提供,則傳遞Args Name用作節點名稱的第一部分, Args用於指定命令行參數。

有了游泳池,您可以免費獲得負載分配設施。

主節點可以這樣啟動:

erl -sname poolmaster -rsh ssh

Key -rsh在此處指定了用於在遠程主機上啟動從屬節點的rsh替代方案。 我們在這里使用SSH。 確保您的盒子有可用的SSH密鑰,您可以使用這些密鑰對遠程主機進行身份驗證。

如果文件.hosts.erlang中沒有主機,則不會啟動從屬節點,您可以使用slave:start/2,3來啟動從屬節點,如果需要,可以手動傳遞參數。

例如,您可以啟動一個遠程節點:

Arg = "-mnesia_dir " ++ M,
slave:start(H, Name, Arg).

確保epmd(1)在遠程復選框上啟動並運行,以啟動Erlang節點。

希望有所幫助。

這個池是slave(3)模塊的低級別。 池建立在slave的功能之上。

使用slave:start啟動新的slave。

您可能還應該在命令行上指定-rsh ssh

因此,如果您需要它提供的功能,請使用池,如果您需要不同的東西,您可以自己從奴隸構建它。

暫無
暫無

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

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