本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
从移动Amazon ParallelCluster2.x 到 3.x
自定义引导操作
与Amazon ParallelCluster3、您可以使用为头节点和计算节点指定不同的自定义引导操作脚本OnNodeStart
(pre_install
在Amazon ParallelCluster版本 2) 和OnNodeConfigured
(post_install
在Amazon ParallelCluster版本 2) 中的参数HeadNode和Scheduling/SlurmQueues部分。有关更多信息,请参阅 自定义引导导导导导导操作。
针对开发的自定义引导操作脚本Amazon ParallelCluster2 必须调整才能在Amazon ParallelCluster3:
-
我们建议您不要使用
/etc/parallelcluster/cfnconfig
和cfn_node_type
区分头节点和计算节点。我们建议您在中指定两个不同的脚本。HeadNode和Scheduling/SlurmQueues. -
如果你更喜欢继续加载
/etc/parallelcluster/cfnconfig
为了在你的引导操作脚本中使用,请注意cfn_node_type
已从 “MasterServer” 更改为 “HeadNode”(请参阅:包含语言)。 -
在 上Amazon ParallelCluster2、引导操作脚本的第一个输入参数是脚本的 S3 URL 并被保留。InAmazon ParallelCluster3,只有配置中配置的参数才会传递给脚本。
使用通过/etc/parallelcluster/cfnconfig
文件不受官方支持。此文件可能会作为 future 版本的一部分被删除。
Amazon ParallelCluster2.x 和 3.x 使用不同的配置文件语法
Amazon ParallelCluster3.x 配置使用 YAML 语法。可以在以下位置找到完整参考:配置文件.
除了要求 YAML 文件格式外,还在中更新了许多配置部分、设置和参数值Amazon ParallelCluster3.x。在本节中,我们注意到对Amazon ParallelCluster配置以及 side-by-side 示例说明了每个版本之间的这些差异Amazon ParallelCluster.
启用和禁用超线程的多个调度器队列配置示例
Amazon ParallelCluster2:
[cluster default] queue_settings = ht-enabled, ht-disabled ... [queue ht-enabled] compute_resource_settings = ht-enabled-i1 disable_hyperthreading = false [queue ht-disabled] compute_resource_settings = ht-disabled-i1 disable_hyperthreading = true [compute_resource ht-enabled-i1] instance_type = c5n.18xlarge [compute_resource ht-disabled-i1] instance_type = c5.xlarge
Amazon ParallelCluster3:
... Scheduling: Scheduler: slurm SlurmQueues: - Name: ht-enabled Networking: SubnetIds: -
compute_subnet_id
ComputeResources: - Name: ht-enabled-i1 DisableSimultaneousMultithreading: true InstanceType: c5n.18xlarge - Name: ht-disabled Networking: SubnetIds: -compute_subnet_id
ComputeResources: - Name: ht-disabled-i1 DisableSimultaneousMultithreading: false InstanceType: c5.xlarge
Lustre 文件系统配置的新 FSx 示例
Amazon ParallelCluster2:
[cluster default] fsx_settings = fsx ... [fsx fsx] shared_dir = /shared-fsx storage_capacity = 1200 imported_file_chunk_size = 1024 import_path = s3://
bucket
export_path = s3://bucket
/export_dir weekly_maintenance_start_time = 3:02:30 deployment_type = PERSISTENT_1 data_compression_type = LZ4
Amazon ParallelCluster3:
... SharedStorage: - Name: fsx MountDir: /shared-fsx StorageType: FsxLustre FsxLustreSettings: StorageCapacity: 1200 ImportedFileChunkSize: 1024 ImportPath: s3://
bucket
ExportPath: s3://bucket
/export_dir WeeklyMaintenanceStartTime: "3:02:30" DeploymentType: PERSISTENT_1 DataCompressionType: LZ4
为 Lustre 文件系统挂载现有 FSx for Lustre 集配置示例
Amazon ParallelCluster2:
[cluster default] fsx_settings = fsx ... [fsx fsx] shared_dir = /shared-fsx fsx_fs_id =
fsx_fs_id
Amazon ParallelCluster3:
... SharedStorage: - Name: fsx MountDir: /shared-fsx StorageType: FsxLustre FsxLustreSettings: FileSystemId:
fsx_fs_id
使用 Intel HPC 平台规范软件堆栈的集群示例
Amazon ParallelCluster2:
[cluster default] enable_intel_hpc_platform = true ...
Amazon ParallelCluster3:
... AdditionalPackages: IntelSoftware: IntelHpcPlatform: true
备注:
-
安装英特尔 HPC 平台规范软件必须遵守适用条款和条件。英特尔最终用户许可协议
.
自定义 IAM 配置示例,包括:实例配置文件、实例角色、实例的其他策略以及与集群关联的 lambda 函数的角色
Amazon ParallelCluster2:
[cluster default] additional_iam_policies = arn:aws:iam::aws:policy/AmazonS3ReadOnlyAccess,arn:aws:iam::aws:policy/AmazonDynamoDBReadOnlyAccess ec2_iam_role =
ec2_iam_role
iam_lambda_role =lambda_iam_role
...
Amazon ParallelCluster3:
... Iam: Roles: CustomLambdaResources:
lambda_iam_role
HeadNode: ... Iam: InstanceRole:ec2_iam_role
Scheduling: Scheduler: slurm SlurmQueues: - Name: queue1 ... Iam: InstanceProfile:iam_instance_profile
- Name: queue2 ... Iam: AdditionalIamPolicies: - Policy: arn:aws:iam::aws:policy/AmazonS3ReadOnlyAccess - Policy: arn:aws:iam::aws:policy/AmazonDynamoDBReadOnlyAccess
备注:
-
适用于Amazon ParallelCluster2、IAM 设置应用于集群的所有实例,并
additional_iam_policies
不能与结合使用ec2_iam_role
. -
适用于Amazon ParallelCluster3、您可以为头节点和计算节点设置不同的 IAM 设置,甚至可以为每个计算队列指定不同的 IAM 设置。
-
适用于Amazon ParallelCluster3、您可以使用 IAM 实例配置文件作为 IAM 角色的替代方案。
InstanceProfile
、InstanceRole
要么AdditionalIamPolicies
无法一起配置。
自定义引导操作示例
Amazon ParallelCluster2:
[cluster default] s3_read_resource = arn:aws:s3:::
bucket_name
/* pre_install = s3://bucket_name
/scripts/pre_install.sh pre_install_args = 'R curl wget' post_install = s3://bucket_name
/scripts/post_install.sh post_install_args = "R curl wget" ...
Amazon ParallelCluster3:
... HeadNode: ... CustomActions: OnNodeStart: Script: s3://
bucket_name
/scripts/pre_install.sh Args: - R - curl - wget OnNodeConfigured: Script: s3://bucket_name
/scripts/post_install.sh Args: ['R', 'curl', 'wget'] Iam: S3Access: - BucketName:bucket_name
Scheduling: Scheduler: slurm SlurmQueues: - Name: queue1 ... CustomActions: OnNodeStart: Script: s3://bucket_name
/scripts/pre_install.sh Args: ['R', 'curl', 'wget'] OnNodeConfigured: Script: s3://bucket_name
/scripts/post_install.sh Args: ['R', 'curl', 'wget'] Iam: S3Access: - BucketName:bucket_name
对 S3 存储桶资源具有读写访问权限的集群示例
Amazon ParallelCluster2:
[cluster default] s3_read_resource = arn:aws:s3:::
bucket
/read_only/* s3_read_write_resource = arn:aws:s3:::bucket
/read_and_write/* ...
Amazon ParallelCluster3:
... HeadNode: ... Iam: S3Access: - BucketName:
bucket_name
KeyName: read_only/ EnableWriteAccess: False - BucketName:bucket_name
KeyName: read_and_write/ EnableWriteAccess: True Scheduling: Scheduler: slurm SlurmQueues: - Name: queue1 ... Iam: S3Access: - BucketName:bucket_name
KeyName: read_only/ EnableWriteAccess: False - BucketName:bucket_name
KeyName: read_and_write/ EnableWriteAccess: True
包含语言
Amazon ParallelCluster3. 在使用 “主节点” 的地方使用 “头节点” 这个词Amazon ParallelCluster2. 这包括以下这些:
-
在中导出的变量Amazon Batch工作环境已改变:从
MASTER_IP
到PCLUSTER_HEAD_NODE_IP
. -
全部Amazon CloudFormation输出更改自
Master*
到HeadNode*
. -
全部 NodeType 标签更改自
Master
到HeadNode
.
调度器 Support
Amazon ParallelCluster3.x 不支持网格引擎之子(SGE)和扭矩调度器。
这些区域有:Amazon Batch命令awsbhosts
、awsbkill
、awsbout
、awsbqueues
、awsbstat
, 和awsbsub
作为单独分发aws-parallelcluster-awsbatch-cli
PyPI 软件包。这个软件包由Amazon ParallelCluster在头节点上。你仍然可以使用这些Amazon Batch来自群集头节点的命令。但是,如果你想使用Amazon Batch命令来自头节点以外的位置,您必须先安装aws-parallelcluster-awsbatch-cli
PyPI 软件包。
Amazon ParallelCluster CLI
这些区域有:Amazon ParallelCluster命令行界面 (CLI) 已更改。中介绍了新语法Amazon ParallelCluster CLI 命令. CLI 的输出格式是JSON
配置新集群
这些区域有:pcluster configure
命令在中包含不同的参数Amazon ParallelCluster3 相比Amazon ParallelCluster2. 有关更多信息,请参阅 pcluster configure。
另请注意,配置文件语法已从Amazon ParallelCluster2. 有关群集配置设置的完整参考,请参阅集群配置文件.
创建集群
Amazon ParallelCluster2 的pcluster create
命令已替换为pcluster
create-cluster命令。
请注意中的默认行为Amazon ParallelCluster2.x,没有-nw
选项,是等待群集创建事件,而Amazon ParallelCluster3.x 命令会立即返回。可以使用以下方式监控集群创建的进度pcluster describe-cluster.
网络 ACL 和安全组都允许 (因此可到达您的实例) 的发起 ping 的Amazon ParallelCluster3 配置文件包含单个集群定义,因此-t
不再需要参数了。
下面是一个配置文件示例:
# Amazon ParallelCluster v2
$
pcluster create \ -r
REGION
\ -cV2_CONFIG_FILE
\ -nw \ -tCLUSTER_TEMPLATE
\CLUSTER_NAME
# Amazon ParallelCluster v3
$
pcluster create-cluster \ --region
REGION
\ --cluster-configurationV3_CONFIG_FILE
\ --cluster-nameCLUSTER_NAME
列出集群
这些区域有:pcluster list
Amazon ParallelCluster2.x 命令必须替换为pcluster
list-clusters命令。
注意:你需要Amazon ParallelClusterv2 CLI 用于列出使用 2.x 版本创建的集群Amazon ParallelCluster. 请参阅Amazon ParallelCluster在虚拟环境中安装(推荐)了解如何安装多个版本Amazon ParallelCluster使用虚拟环境。
# Amazon ParallelCluster v2
$
pcluster list -r
REGION
# Amazon ParallelCluster v3
$
pcluster list-clusters --region
REGION
启动和停止集群
这些区域有:pcluster start
和pcluster stop
Amazon ParallelCluster2.x 命令必须替换为pcluster update-compute-fleet命令。
启动计算机队列:
# Amazon ParallelCluster v2
$
pcluster start \ -r
REGION
\CLUSTER_NAME
# Amazon ParallelCluster v3 - Slurm fleets
$
pcluster update-compute-fleet \ --region
REGION
\ --cluster-nameCLUSTER_NAME
\ --statusSTART_REQUESTED
# Amazon ParallelCluster v3 - Amazon Batch fleets
$
pcluster update-compute-fleet \ --region
REGION
\ --cluster-nameCLUSTER_NAME
\ --statusENABLED
停止计算机队列:
# Amazon ParallelCluster v2
$
pcluster stop \ -r
REGION
\CLUSTER_NAME
# Amazon ParallelCluster v3 - Slurm fleets
$
pcluster update-compute-fleet \ --region
REGION
\ --cluster-nameCLUSTER_NAME
\ --statusSTOP_REQUESTED
# Amazon ParallelCluster v3 - Amazon Batch fleets
$
pcluster update-compute-fleet \ --region
REGION
\ --cluster-nameCLUSTER_NAME
\ --statusDISABLED
连接到集群
这些区域有:pcluster ssh
Amazon ParallelCluster2.x 命令在中有不同的参数名称Amazon ParallelCluster3.x。请参阅 pcluster ssh。
连接到集群:
# Amazon ParallelCluster v2
$
pcluster ssh \ -r
REGION
\CLUSTER_NAME
\ -i~/.ssh/id_rsa
# Amazon ParallelCluster v3
$
pcluster ssh \ --region
REGION
\ --cluster-nameCLUSTER_NAME
\ -i~/.ssh/id_rsa
更新 IMDS 配置
从版本 3.0.0 开始,Amazon ParallelCluster引入了对默认情况下限制对头节点的 IMDS(和实例配置文件凭证)的访问权限的支持。有关更多信息,请参阅Imds 属性。