기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
에서 첫 번째 작업 실행 AWS ParallelCluster
이 자습서에서는에서 첫 번째 Hello World 작업을 실행하는 방법을 안내합니다. AWS ParallelCluster
AWS ParallelCluster 명령줄 인터페이스(CLI) 또는 API를 사용하는 경우 AWS ParallelCluster 이미지 및 클러스터를 생성하거나 업데이트할 때 생성된 AWS 리소스에 대해서만 비용을 지불합니다. 자세한 내용은 AWS 에서 사용하는 서비스 AWS ParallelCluster 단원을 참조하십시오.
PCUI는 서버리스 아키텍처를 기반으로 하며 대부분의 경우 AWS 프리 티어 범주 내에서 사용할 수 있습니다. 자세한 내용은 PCUI 비용 단원을 참조하십시오.
사전 조건
-
AWS ParallelCluster 가 설치됩니다.
-
설치 AWS CLI 및 구성됩니다.
-
Amazon EC2 키 페어가 있습니다.
설치 확인
먼저 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
”로 전환됩니다. 출력은 헤드 노드의 publicIpAddress
및 privateIpAddress
도 제공합니다.
헤드 노드에 로그인
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를 빌드합니다custom AWS ParallelCluster AMI 빌드.
-
AWS ParallelCluster 구성 파일의 StorageSettings 옵션을 사용하여 공유 파일 시스템을 지정하고 설치된 소프트웨어를 지정된 탑재 위치에 저장합니다.
-
사용자 지정 부트스트랩 작업를 사용하여 클러스터 각 노드의 부트스트랩 절차를 자동화할 수 있습니다.