本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
包含自定义引导操作的示例集群
以下步骤创建一个要在节点配置完成后执行的简单脚本,该脚本将在集群的节点中安装 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.sh
s3://<amzn-s3-demo-bucket>
/myscript.sh
重要
如果脚本是在 Windows 上编辑的,则在将脚本上传CRLF到 Amazon S3 之前,必须将行尾从更改为 LF。
-
更新 AWS ParallelCluster 配置以包含新
OnNodeConfigured
操作。CustomActions: OnNodeConfigured: Script: https://
<amzn-s3-demo-bucket>
.s3.<region>
.amazonaws.com/myscript.sh
Args: - "R" - "curl" - "wget"如果存储桶没有公共读取权限,请使用
s3
作为URL协议。CustomActions: OnNodeConfigured: Script: s3://
<amzn-s3-demo-bucket>
/myscript.sh
Args: - "R" - "curl" - "wget" -
启动集群。
$
pcluster create-cluster --cluster-name
mycluster
\ --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 日志集成。
-