本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
包含自定义引导操作的示例集群
以下步骤创建一个要在节点配置完成后执行的简单脚本,该脚本将在集群的节点中安装 R, curl 和 wget 软件包。
-
创建脚本。
#!/bin/bash echo "The script has $# arguments" for arg in "$@" do echo "arg: ${arg}" done yum -y install "${@:1}" -
使用正确的权限将脚本上传到 Amazon S3。如果公共读取权限不适合您,请使用 HeadNode/Iam/S3Access 和 Scheduling/SlurmQueues 配置部分。有关更多信息,请参阅 使用 Amazon S3。
$aws s3 cp --acl public-read/path/to/myscript.shs3://amzn-s3-demo-bucket/myscript.sh重要
如果脚本是在 Windows 上编辑的,则必须将行结尾从 CRLF 更改为 LF,然后才能将脚本上传到 Amazon S3。
-
更新 Amazon ParallelCluster 配置以包含新
OnNodeConfigured操作。CustomActions: OnNodeConfigured: Script: https://<amzn-s3-demo-bucket>.s3.<region>.amazonaws.com/myscript.shArgs: - "R" - "curl" - "wget"如果存储桶没有公共读取权限,则使用
s3作为 URL 协议。CustomActions: OnNodeConfigured: Script: s3://amzn-s3-demo-bucket/myscript.shArgs: - "R" - "curl" - "wget" -
启动集群。
$pcluster create-cluster --cluster-namemycluster\ --region<region>--cluster-configurationconfig-file.yaml -
验证输出。
-
如果您在
HeadNode配置中添加了自定义操作,请登录到头节点并运行以下命令/var/log/cfn-init.log来检查位于的cfn-init.log文件:$ less /var/log/cfn-init.log 2021-09-03 10:43:54,588 [DEBUG] Command run postinstall output: The script has 3 arguments arg: R arg: curl arg: wget Loaded plugins: dkms-build-requires, priorities, update-motd, upgrade-helper Package R-3.4.1-1.52.amzn1.x86_64 already installed and latest version Package curl-7.61.1-7.91.amzn1.x86_64 already installed and latest version Package wget-1.18-4.29.amzn1.x86_64 already installed and latest version Nothing to do -
如果您将自定义操作添加到了
SlurmQueues设置中,请检查位于计算节点中/var/log/cloud-init.log处的cloud-init.log。用于 CloudWatch 查看这些日志。
您可以在 Amazon CloudWatch 控制台中查看这两个日志。有关更多信息,请参阅 与 Amazon CloudWatch 日志集成。
-