에서 첫 작업 실행 AWS ParallelCluster - AWS ParallelCluster

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

에서 첫 작업 실행 AWS ParallelCluster

이 튜토리얼에서는 Hello World에서 첫 작업을 실행하는 방법을 안내합니다. AWS ParallelCluster

AWS ParallelCluster 명령줄 인터페이스 (CLI) 또는 API를 사용하는 경우 AWS ParallelCluster 이미지 및 클러스터를 생성하거나 업데이트할 때 생성된 AWS 리소스에 대한 비용만 지불하면 됩니다. 자세한 정보는 AWS 에서 사용하는 서비스 AWS ParallelCluster을 참조하세요.

AWS ParallelCluster UI는 서버리스 아키텍처를 기반으로 하며 대부분의 경우 AWS 프리 티어 범주 내에서 사용할 수 있습니다. 자세한 정보는 AWS ParallelCluster UI 비용을 참조하세요.

사전 조건

설치 확인

먼저 Node.js 종속성을 포함하여 설치 및 구성이 AWS ParallelCluster 올바른지 확인합니다.

$ node --version v16.8.0 $ pcluster version { "version": "3.7.0" }

그러면 실행 중인 버전이 반환됩니다 AWS ParallelCluster.

첫 번째 클러스터 생성

이제 첫 번째 클러스터를 생성할 시간입니다. 이 자습서의 워크로드는 성능 집약적이 아니기 때문에 t2.micro의 기본 인스턴스 크기를 사용합니다. (프로덕션 워크로드의 경우 더 적합한 인스턴스 크기를 선택해야 합니다.) 클러스터 hello-world를 호출해 보겠습니다.

$ pcluster create-cluster \ --cluster-name hello-world \ --cluster-configuration hello-world.yaml
참고

대부분의 pcluster 명령에 사용할 항목을 지정해야 합니다. AWS 리전 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”로 전환됩니다. 출력은 헤드 노드의 publicIpAddressprivateIpAddress도 제공합니다.

헤드 노드에 로그인

OpenSSH pem 파일을 사용하여 헤드 노드에 로그인합니다.

$ pcluster ssh --cluster-name hello-world -i /path/to/keyfile.pem

로그인되면 sinfo 명령을 실행하여 컴퓨팅 노드가 설정되고 구성되어 있는지 확인합니다.

$ sinfo PARTITION AVAIL TIMELIMIT NODES STATE NODELIST queue1* up infinite 10 idle~ queue1-dy-queue1t2micro-[1-10]

출력은 클러스터에 최대 10개의 노드로 구성된 대기열이 하나 있음을 보여줍니다.

Slurm을 사용하여 첫 번째 작업 실행

이제 잠시 동안 대기한 다음 고유의 호스트 이름을 출력하는 작업을 생성합니다. 다음 콘텐츠를 통해 hellojob.sh라는 파일을 생성합니다.

#!/bin/bash sleep 30 echo "Hello World from $(hostname)"

그런 다음 sbatch를 사용하여 작업을 제출하고 작업이 실행되는지 확인합니다.

$ sbatch hellojob.sh Submitted batch job 2

이제 대기열을 보고 작업 상태를 확인할 수 있습니다. 새로운 Amazon EC2 인스턴스를 프로비저닝하는 작업은 백그라운드에서 시작됩니다. sinfo 명령을 사용하여 클러스터 인스턴스의 상태를 모니터링할 수 있습니다.

$ squeue JOBID PARTITION NAME USER ST TIME NODES NODELIST(REASON) 2 queue1 hellojob ec2-user CF 3:30 1 queue1-dy-queue1t2micro-1

출력에는 작업이 queue1에 제출되었음을 보여줍니다. 작업이 완료될 때까지 30초 동안 기다린 후 squeue을 다시 실행합니다.

$ squeue JOBID PARTITION NAME USER ST TIME NODES NODELIST(REASON)

이제 대기열에 작업이 없으므로 현재 디렉터리에서 출력을 확인할 수 있습니다.

$ ls -l total 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.out Hello World from queue1-dy-queue1t2micro-1

출력에서는 작업이 queue1-dy-queue1t2micro-1 인스턴스에서 성공적으로 실행되었음을 보여줍니다.

방금 생성한 클러스터에서는 클러스터의 모든 노드에서 홈 디렉터리만 공유됩니다.

클러스터 생성 및 사용에 대해 자세히 알아보려면 모범 사례 섹션을 참조하세요.

애플리케이션에 공유 소프트웨어, 라이브러리 또는 데이터가 필요한 경우 다음 옵션을 고려해 보세요.

  • 에 설명된 대로 소프트웨어를 포함하는 AWS ParallelCluster 활성화된 사용자 지정 AMI를 구축하십시오사용자 지정 AWS ParallelCluster AMI 구축.

  • AWS ParallelCluster 구성 파일의 StorageSettings옵션을 사용하여 공유 파일 시스템을 지정하고 설치된 소프트웨어를 지정된 마운트 위치에 저장합니다.

  • 사용자 지정 부트스트랩 작업를 사용하여 클러스터 각 노드의 부트스트랩 절차를 자동화할 수 있습니다.