7

以前の同様のSOの質問に関連して、並列コンピューティングにAWSでsnow/snowfallを使用してみました。

私がしたことは:

  • 関数では、次のようなパラメータ sfInit()にパブリックDNSを提供しましたsocketHostssfInit(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ノードが利用されていることが確認されました
4

2 に答える 2

2

それほど悪くないように見えますが、pem ファイルが間違っています。しかし、それほど単純ではない場合もあり、多くの人がこの問題と戦わなければなりません。この投稿には多くのヒントがあります。

私の経験から、ほとんどの人は次の手順で問題を抱えています。

  • ssh 経由でマシンにログオンできますか? (ssh ec2-00-00-00-000.compute-1.amazonaws.com)。パブリック IP ではなく、パブリック DNS を使用して接続してみてください。
  • すべてのマシンで 22 ポートが開いている場合は、AWS の「セキュリティ グループ」を確認する必要があります。

10 台以上のワーカー マシンを起動する場合は、マシンに MPI をインストールする必要があります (パフォーマンスが大幅に向上します!)。

cloudnumbers.com の Markus :-)

于 2011-09-07T13:13:18.293 に答える
1

@Anatoliy は正しいと思います。X.509 証明書を使用しています。SSH キーを追加するための正確な手順については、 EC2 スターター ガイドの「資格情報の種類」セクションを参照してください。

独自の SSH キーをアップロードするには、Alestic のこのページをご覧ください

最初は少し混乱しますが、DSA または RSA を使用してテキスト ファイルに表示されるアクセス キー、証明書、およびキー ペアを明確にしておく必要があります。

于 2011-09-07T13:17:03.710 に答える