企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持知识库和私有化部署方案 广告
```erlang rpc:call(Node, Module, Function, Args) -> Res | {badrpc, Reason} Types: Node = node() Module = module() Function = atom() Args = [term()] Res = Reason = term() Evaluates apply(Module, Function, Args) on the node Node and returns the corresponding value Res, or {badrpc, Reason} if the call fails. rpc:cast(). erlang:set_cookie(node(), cookie). erl -sname test -name test@test -setcookie 'pwd' c:nl( Mod ). %slave 模块 slave:start('10.0.0.252', slave1, "-setcookie abc -loader inet -hosts '10.0.0.253' -id master@10.0.0.253"). %开启从节点10.0.0.252出现错误 slave:start_link( Host, Name, Args ). slave:stop( Node ). Stops (kills) a node. %erl_boot_server模块 erl_boot_server:which_slaves(). erl_boot_server:add_slave( '42.96.128.67' ). erl_boot_server:delete_slave( '42.96.128.67' ). net_adm:ping(node@Hostname). %这个结果可能是pong,也可能是pang。其中pong表示可以ping通,pang表示ping不通。 erlang:send(Dest, Msg) -> Msg. %Dest may be a %remote pid, %远程pid %local pid, %本地Pid %a (local) port, %本地或者远程port %a locally registered name %本地的注册进程名 %a tuple {RegName, Node} %{注册进程名称,节点} %for a registered name at another node. spawn(Node, Mod, Func, Args). %在远程节点产生一个新的进程。 spawn_link(Node, Mod, Func, Args). %在远程节点产生一个新的进程并创建一个指向这个进程的链接。 monitor_node(Node, Flag). %若Flag为true,该BIF令当前进程监视节点Node。如果Node出错或消失,一个{nodedown, Node}消息将被发送给当前进程,若Flag为false,则关闭监视。 nodes(). node(Item).%返回Item所处节点的名称。Item可以是Pid、引用或端口。 disconnect_node(Nodename).%断开与节点Nodename的连接。 ``` 控制节点对集群的访问 1.防火墙 2.Erlang集群未公开特性:IP网段限制 http://blog.yufeng.info/archives/1575 3.net_kernel:allow net_kernel:allow(['x@127.0.0.1', 'y@127.0.0.1']). 可以知道如果Allowed空的话,代表不做任何限制,否则net_kernel:allow限制主动和被动连接的节点