翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
で最初のジョブを実行する AWS ParallelCluster
このチュートリアルでは、 で最初の Hello World ジョブを実行する方法について説明します。 AWS ParallelCluster
AWS ParallelCluster コマンドラインインターフェイス (CLI) または API を使用する場合、 AWS ParallelCluster イメージとクラスターを作成または更新したときに作成された AWS リソースに対してのみ料金が発生します。詳細については、「AWS が使用する サービス AWS ParallelCluster」を参照してください。
前提条件
-
AWS ParallelCluster がインストールされます。
-
AWS CLI がインストールされ、設定されています。
-
Amazon EC2 のキーペアがある。
インストールを確認する
まず、Node.js の依存関係を含む AWS ParallelCluster が正しくインストールおよび設定されていることを確認します。
$node --versionv16.8.0$pcluster version{ "version": "3.14.0" }
これにより、実行中のバージョンが返されます AWS ParallelCluster。
初めてクラスターを作成する
では、最初のクラスターを作成していきましょう。このチュートリアルのワークロードのパフォーマンス負荷は高くないため、デフォルトのインスタンスサイズ t2.micro を使います。(本稼働ワークロードの場合は、ニーズに最適なインスタンスサイズを選択します) クラスター hello-world を呼び出してみましょう。
$pcluster create-cluster \ --cluster-name hello-world \ --cluster-configuration hello-world.yaml
注記
AWS リージョン 使用する は、ほとんどのpclusterコマンドで指定する必要があります。AWS_DEFAULT_REGION 環境変数、~/.aws/config ファイルの [default] セクションにある region 設定で指定されていない場合は、pcluster コマンドラインで --region パラメータを指定する必要があります。
設定に関するメッセージが出力に表示されたら、 AWS ParallelClusterを設定するために次のコマンドを実行する必要があります。
$pcluster configure --config hello-world.yaml
pcluster create-cluster コマンドが正常に完了した場合は、次のような出力が表示されます。
{ "cluster": { "clusterName": "hello-world", "cloudformationStackStatus": "CREATE_IN_PROGRESS", "cloudformationStackArn": "arn:aws:cloudformation:xxx:stack/xxx", "region": "...", "version": "...", "clusterStatus": "CREATE_IN_PROGRESS" } }
以下の方法でクラスターの作成をモニタリングします。
$pcluster describe-cluster --cluster-name hello-world
クラスターの作成中に clusterStatus が「CREATE_IN_PROGRESS」とレポートします。クラスターの作成に成功すると、clusterStatus は「CREATE_COMPLETE」に遷移します。また、出力には、ヘッドノードの publicIpAddress と privateIpAddress が表示されます。
ヘッドノードにログインする
OpenSSH pem ファイルを使用してヘッドノードにログインします。
$pcluster ssh --cluster-name hello-world -i /path/to/keyfile.pem
ログインしたら、sinfo コマンドを実行して、コンピューティングノードがセットアップおよび設定されていることを確認します。
$sinfoPARTITION AVAIL TIMELIMIT NODES STATE NODELIST queue1* up infinite 10 idle~ queue1-dy-queue1t2micro-[1-10]
出力には、クラスターに 1 つのキューがあり、最大 10 のノードがあることが示されます。
Slurm を使用して最初のジョブを実行する
次に、しばらくの間スリープしてから、独自のホスト名を出力するジョブを作成します。hellojob.sh というファイルを次の内容で作成します。
#!/bin/bash sleep 30 echo "Hello World from $(hostname)"
次に、sbatch を使用してジョブを送信し、実行されることを確認します。
$sbatch hellojob.shSubmitted batch job 2
これで、キューを表示してジョブのステータスを確認できます。新しい Amazon EC2 インスタンスのプロビジョニングがバックグランドで開始されます。クラスターインスタンスのステータスは、sinfo コマンドでモニタリングできます。
$squeueJOBID PARTITION NAME USER ST TIME NODES NODELIST(REASON) 2 queue1 hellojob ec2-user CF 3:30 1 queue1-dy-queue1t2micro-1
出力には、ジョブが queue1 に送信されたことが示されます。ジョブが終了するまで 30 秒間待ってから、もう一度 squeue を実行します。
$squeueJOBID PARTITION NAME USER ST TIME NODES NODELIST(REASON)
キューにはジョブがないため、現在のディレクトリで出力を確認できます。
$ls -ltotal 8 -rw-rw-r-- 1 ec2-user ec2-user 57 Sep 1 14:25 hellojob.sh -rw-rw-r-- 1 ec2-user ec2-user 43 Sep 1 14:30 slurm-2.out
出力には、「out」ファイルが示されます。ジョブからの出力を確認できます。
$cat slurm-2.outHello World from queue1-dy-queue1t2micro-1
また、出力には、ジョブがインスタンス queue1-dy-queue1t2micro-1 上で正常に実行されていることも示されています。
作成したばかりのクラスターでは、ホームディレクトリのみがクラスターの全ノード間で共有されます。
クラスターの作成と使用の詳細については、「ベストプラクティス」を参照してください。
アプリケーションで共有ソフトウェア、ライブラリ、またはデータが必要な場合は、以下のオプションを検討してください。
-
「」で説明されているように、ソフトウェアを含む AWS ParallelCluster 有効なカスタム AMI を構築しますカスタム AMI AWS ParallelCluster の構築。
-
AWS ParallelCluster 設定ファイルの StorageSettings オプションを使用して共有ファイルシステムを指定し、インストールしたソフトウェアを指定されたマウント場所に保存します。
-
カスタムブートストラップアクション を使用して、クラスターの各ノードのブートストラップ手順を自動化します。