尝试创建集群 - AWS ParallelCluster

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

尝试创建集群

使用 AWS ParallelCluster 版本 3.5.0 及更高版本创建集群,且集群创建失败且--rollback-on-failure设置为时false,请使用pcluster describe-clusterCLI命令获取状态和失败信息。在这种情况下,pcluster describe-cluster 输出的预期 clusterStatusCREATE_FAILED。检查输出中的 failures 部分以找到 failureCodefailureReason。然后在后面的部分中找到匹配的 failureCode 以获取更多故障排除帮助。有关更多信息,请参阅 pcluster describe-cluster

在后面的部分中,我们建议您查看头节点上的日志,例如 /var/log/cfn-init.log/var/log/chef-client.log 文件。有关 AWS ParallelCluster 日志以及如何查看日志的更多信息,请参阅用于调试的关键日志检索和保留日志

如果您没有failureCode,请导航到 AWS CloudFormation 控制台以查看集群堆栈。查看 HeadNodeWaitConditionStatus Reason 或其他资源上的失败,以了解更多失败详细信息。有关更多信息,请参阅 查看以下 AWS CloudFormation 网址上的活动 CREATE_FAILED。检查头节点上的 /var/log/cfn-init.log/var/log/chef-client.log 文件。

failureCodeOnNodeConfiguredExecutionFailure

  • 为什么失败?

    您在配置的头节点部分的 OnNodeConfigured 中提供了用于创建集群的自定义脚本。但该自定义脚本未能运行。

  • 如何解决?

    检查 /var/log/cfn-init.log 文件以更详细地了解失败以及如何解决自定义脚本中的问题。在该日志快要结束时,您可能会在 Running command runpostinstall 消息后看到与 OnNodeConfigured 脚本相关的运行信息。

failureCodeOnNodeConfiguredDownloadFailure

  • 为什么失败?

    您在配置的头节点部分的 OnNodeConfigured 中提供了用于创建集群的自定义脚本。但该自定义脚本未能下载。

  • 如何解决?

    确保有效URL且访问权限配置正确。有关自定义引导脚本配置的更多信息,请参阅自定义引导操作

    检查 /var/log/cfn-init.log 文件。在该日志快要结束时,您可能会在 Running command runpostinstall 消息后看到与 OnNodeConfigured 脚本处理(包括下载)相关的运行信息。

failureCodeOnNodeConfiguredFailure

  • 为什么失败?

    您在配置的头节点部分的 OnNodeConfigured 中提供了用于创建集群的自定义脚本。但在集群部署中使用自定义脚本失败。无法确定直接原因,需要进一步调查。

  • 如何解决?

    检查 /var/log/cfn-init.log 文件。在该日志快要结束时,您可能会在 Running command runpostinstall 消息后看到与 OnNodeConfigured 脚本处理相关的运行信息。

failureCodeOnNodeStartExecutionFailure

  • 为什么失败?

    您在配置的头节点部分的 OnNodeStart 中提供了用于创建集群的自定义脚本。但该自定义脚本未能运行。

  • 如何解决?

    检查 /var/log/cfn-init.log 文件以更详细地了解失败以及如何解决自定义脚本中的问题。在该日志快要结束时,您可能会在 Running command runpreinstall 消息后看到与 OnNodeStart 脚本相关的运行信息。

failureCodeOnNodeStartDownloadFailure

  • 为什么失败?

    您在配置的头节点部分的 OnNodeStart 中提供了用于创建集群的自定义脚本。但该自定义脚本未能下载。

  • 如何解决?

    确保有效URL且访问权限配置正确。有关自定义引导脚本配置的更多信息,请参阅自定义引导操作

    检查 /var/log/cfn-init.log 文件。在该日志快要结束时,您可能会在 Running command runpreinstall 消息后看到与 OnNodeStart 脚本处理(包括下载)相关的运行信息。

failureCodeOnNodeStartFailure

  • 为什么失败?

    您在配置的头节点部分的 OnNodeStart 中提供了用于创建集群的自定义脚本。但在集群部署中使用自定义脚本失败。无法确定直接原因,需要进一步调查。

  • 如何解决?

    检查 /var/log/cfn-init.log 文件。在该日志快要结束时,您可能会在 Running command runpreinstall 消息后看到与 OnNodeStart 脚本处理相关的运行信息。

failureCodeEbsMountFailure

  • 为什么失败?

    无法装入群集配置中定义的EBS卷。

  • 如何解决?

    检查 /var/log/chef-client.log 文件以查看失败详细信息。

failureCodeEfsMountFailure

  • 为什么失败?

    集群配置中定义的 Amazon EFS 卷无法装载。

  • 如何解决?

    如果您定义了现有 Amazon EFS 文件系统,请确保允许集群和文件系统之间的流量。有关更多信息,请参阅 SharedStorage/EfsSettings/FileSystemId

    检查 /var/log/chef-client.log 文件以查看失败详细信息。

failureCodeFsxMountFailure

  • 为什么失败?

    集群配置中定义的 Amazon FSx 文件系统无法装载。

  • 如何解决?

    如果您定义了现有 Amazon FSx 文件系统,请确保允许集群和文件系统之间的流量。有关更多信息,请参阅 SharedStorage/FsxLustreSettings/FileSystemId

    检查 /var/log/chef-client.log 文件以查看失败详细信息。

failureCodeRaidMountFailure

  • 为什么失败?

    集群配置中定义的RAID卷无法装载。

  • 如何解决?

    检查 /var/log/chef-client.log 文件以查看失败详细信息。

failureCodeAmiVersionMismatch

  • 为什么失败?

    用于创建自定义AMI的 AWS ParallelCluster 版本与用于配置集群的 AWS ParallelCluster 版本不同。在 CloudFormation 控制台中,查看集群 CloudFormation 堆栈详细信息并查看HeadNodeWaitCondition,以获取Status Reason有关 AWS ParallelCluster 版本和的更多详细信息AMI。有关更多信息,请参阅 查看以下 AWS CloudFormation 网址上的活动 CREATE_FAILED

  • 如何解决?

    确保用于创建自定义AMI集群的 AWS ParallelCluster 版本与用于配置集群的 AWS ParallelCluster 版本相同。您可以更改自定义AMI版本或pclusterCLI版本以使其相同。

failureCodeInvalidAmi

  • 为什么失败?

    该自定义AMI无效,因为它不是使用构建的 AWS ParallelCluster。

  • 如何解决?

    使用pcluster build-image命令AMI通过制作父图像来创建。AMI有关更多信息,请参阅 pcluster build-image

failureCodeHeadNodeBootstrapFailure,并且 failureReason 是“无法设置头节点”。

  • 为什么失败?

    无法确定直接原因,需要进一步调查。例如,可能是因为集群处于受保护状态,这可能是由于无法预置静态计算实例集造成的。

  • 如何解决?

    检查 /var/log/chef-client.log. 文件以查看失败详细信息。

    注意

    如果您看到 RuntimeError 异常“Cluster state has been set to PROTECTED mode due to failures detected in static node provisioning”,则表示集群处于受保护状态。有关更多信息,请参阅 如何调试受保护模式

failureCodeHeadNodeBootstrapFailure,并且 failureReason是“集群创建超时”。

  • 为什么失败?

    默认情况下,集群创建的完成时间限制为 30 分钟。如果集群创建未在此时间范围内完成,则集群创建将失败并显示超时错误。集群创建可能由于不同的原因而超时。例如,头节点创建失败、网络问题、头节点中的自定义脚本运行时间过长、计算节点中运行的自定义脚本中的错误或计算节点预置等待时间过长均可导致超时失败。无法确定直接原因,需要进一步调查。

  • 如何解决?

    检查 /var/log/cfn-init.log/var/log/chef-client.log 文件以查看失败详细信息。有关 AWS ParallelCluster 日志以及如何获取这些日志的更多信息,请参阅用于调试的关键日志检索和保留日志

    在这些日志中,您可能会发现以下内容。

    • chef-client.log 快要结束时看到“Waiting for static fleet capacity provisioning

      这表示在等待静态节点启动时,集群创建超时。有关更多信息,请参阅 在计算节点初始化过程中看到错误

    • cfn-init.log 的末尾看到 OnNodeConfiguredOnNodeStart 头节点脚本未完成

      这表示 OnNodeConfiguredOnNodeStart 自定义脚本的运行需要很长时间并导致了超时错误。检查您的自定义脚本是否存在导致其运行很长时间的问题。如果您的自定义脚本需要运行很长时间,请考虑在集群配置文件中添加一个 DevSettings 部分来更改超时限制,如以下示例所示:

      DevSettings: Timeouts: HeadNodeBootstrapTimeout: 1800 # default setting: 1800 seconds
    • 找不到日志,或者未成功创建头节点

      可能未成功创建头节点,因此找不到日志。在 CloudFormation 控制台中,查看集群堆栈详细信息以查看其他故障详细信息。

failureCodeHeadNodeBootstrapFailure,并且 failureReason 是“无法引导头节点”。

  • 为什么失败?

    无法确定直接原因,需要进一步调查。

  • 如何解决?

    检查 /var/log/cfn-init.log/var/log/chef-client.log 文件。

failureCodeResourceCreationFailure

  • 为什么失败?

    在集群创建过程中,创建某些资源失败。导致失败的原因多种多样。例如,资源创建失败可能是由容量问题或IAM策略配置错误造成的。

  • 如何解决?

    在 CloudFormation 控制台中,查看群集堆栈以查看其他资源创建失败的详细信息。

failureCodeClusterCreationFailure

  • 为什么失败?

    无法确定直接原因,需要进一步调查。

  • 如何解决?

    在 CloudFormation 控制台中,查看集群堆栈并查看,Status ReasonHeadNodeWaitCondition以查找其他故障详细信息。

    检查 /var/log/cfn-init.log/var/log/chef-client.log 文件。

WaitCondition timed out...在 CloudFormation 堆栈中看见

有关更多信息,请参阅 failureCode 是 HeadNodeBootstrapFailure,并且 failureReason是“集群创建超时”。

Resource creation cancelled在 CloudFormation 堆栈中看见

有关更多信息,请参阅 failureCode 是 ResourceCreationFailure

在 AWS CloudFormation 堆栈中看到错误Failed to run cfn-init...或其他错误

检查 /var/log/cfn-init.log/var/log/chef-client.log 以查看其他失败详细信息。

看到 chef-client.log 以“INFO: Waiting for static fleet capacity provisioning”结束

这与等待静态节点启动时集群创建超时有关。有关更多信息,请参阅 在计算节点初始化过程中看到错误

看到Failed to run preinstall or postinstall in cfn-init.log

集群配置 HeadNode 部分中有 OnNodeConfiguredOnNodeStart 脚本。该脚本未正常运行。检查 /var/log/cfn-init.log 文件以查看自定义脚本的错误详细信息。

This AMI was created with xxx, but is trying to be used with xxx...在 CloudFormation 堆栈中看见

有关更多信息,请参阅 failureCode 是 AmiVersionMismatch

This AMI was not baked by AWS ParallelCluster...在 CloudFormation 堆栈中看见

有关更多信息,请参阅 failureCode 是 InvalidAmi

看到 pcluster create-cluster 命令无法在本地运行

检查本地文件系统中的 ~/.parallelcluster/pcluster-cli.log 以查看失败详细信息。

其他支持

按照排查集群部署问题中的故障排除指南进行操作。

查看您的场景是否包含在 “GitHub 已知问题 AWS ParallelCluster ” 中 GitHub。