Linux クラスターでバッチ モードでさまざまな R スクリプトを一度に実行して、さまざまなデータ セットのモデルを推定しています (Mac で実行した場合にも発生します)。スクリプトは、使用しているデータ セットを除いてまったく同じです。それを行うと、次のメッセージが表示されます。
Error in socketConnection("localhost", port = port, server = TRUE, blocking = TRUE, :
cannot open the connection
Calls: makePSOCKcluster -> newPSOCKnode -> socketConnection
In addition: Warning message:
In socketConnection("localhost", port = port, server = TRUE, blocking = TRUE, :
port 11426 cannot be opened
再現可能な例を次に示します。2 つのファイル tmp1.R と tmp2.R、および tmp.sh を次の内容で作成します。
ファイル tmp1.R および tmp2.R の内容:
library(dclone)
l <- list(1:100,1:100,1:100,1:100)
cl <- makePSOCKcluster(4)
parLapply(cl, X=l, fun=function(x) {Sys.sleep(2); sum(x); })
stopCluster(cl)
tmp.sh ファイルの内容:
#!/bin/sh
R CMD BATCH tmp1.R &
R CMD BATCH tmp2.R &
リストの最初のファイルが実行されます。2 番目は、上記のエラーを表示します。誰もそれを解決する方法を知っていて、手動の介入なしですべてのスクリプトを一度に自動的に実行しますか?
PS:他の同様の質問をすべて読みましたが、再現可能な例や上記の質問への回答はありません。