我正在尝试并行运行 R,它可以在本地主机上完美运行。现在我想切换到多节点设置并在同一个网络中创建多个虚拟机。但是,当我尝试设置集群时,它失败并出现以下错误:
Error in socketConnection(master, port = port, blocking = TRUE, open = "a+b", :
cannot open the connection
Calls: <Anonymous> ... doTryCatch -> recvData -> makeSOCKmaster ->
socketConnection
In addition: Warning message:
In socketConnection(master, port = port, blocking = TRUE, open = "a+b", :
ubuntu-r-node1:11056 cannot be opened
最小的可重现示例:
library("parallel")
cl <- makeCluster(c(rep("192.168.42.26",2),rep("192.168.42.32",2)),outfile = "")
我也尝试过在 localhost 上打开套接字,但它也失败了(但 localhost 上的集群只能工作),并显示相同的错误消息:
socketConnection("localhost", port = 11056, blocking = TRUE, open = "a+b")
仅当我添加server = TRUE选项时,socketConnection 才有效,但我不确定此选项是否适用于 makeCluster 以及如何设置它。
我全新安装了 Ubuntu Server 16.04,iptables 规则为空(全部接受),ssh 双向工作,所以我不知道为什么它不起作用。