以前の同様のSOの質問に関連して、並列コンピューティングにAWSでsnow/snowfallを使用してみました。
私がしたことは:
- 関数では、次のようなパラメータ
sfInit()
にパブリックDNSを提供しましたsocketHosts
sfInit(parallel=TRUE,socketHosts =list("ec2-00-00-00-000.compute-1.amazonaws.com"))
- 返されたエラーは
Permission denied (publickey)
- 次に、http://www.imbi.uni-freiburg.de/parallel/の「PasswordlessSecure Shell(SSH)login」セクションの指示に従いました(正しく推測します!)。
- AWSで作成した.pemファイルのコンテンツを、マスターAWSインスタンスから、またマスターAWSインスタンスにも接続するAWSインスタンスの〜/ .ssh/authorized_keysにキャットします。
私が見逃しているものはありますか?ユーザーがAWSでの雪の使用に関する経験を共有できれば非常にありがたいです。
ご提案ありがとうございます。
更新:私は自分の特定の問題に対して見つけた解決策を更新したかっただけです:
- StarClusterを使用してAWSクラスターをセットアップしました:StarCluster
snowfall
クラスターのすべてのノードにインストールされたパッケージ- マスターノードから次のコマンドを発行しました
hostslist <- list("ec2-xxx-xx-xxx-xxx.compute-1.amazonaws.com","ec2-xx-xx-xxx-xxx.compute-1.amazonaws.com")
sfInit(parallel=TRUE, cpus=2, type="SOCK",socketHosts=hostslist)
l <- sfLapply(1:2,function(x)system("ifconfig",intern=T))
lapply(l,function(x)x[2])
sfStop()
- IP情報により、AWSノードが利用されていることが確認されました