Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Behebung von Problemen bei der Clusterbereitstellung
Wenn Ihr Cluster nicht erstellt werden kann und die Stack-Erstellung rückgängig gemacht wird, können Sie die Protokolldateien durchsuchen, um das Problem zu diagnostizieren. Die Fehlermeldung sieht wahrscheinlich wie die folgende Ausgabe aus:
$pcluster create-cluster --cluster-namemycluster--regioneu-west-1\ --cluster-configurationcluster-config.yaml{ "cluster": { "clusterName": "mycluster", "cloudformationStackStatus": "CREATE_IN_PROGRESS", "cloudformationStackArn": "arn:aws:cloudformation:eu-west-1:xxx:stack/mycluster/1bf6e7c0-0f01-11ec-a3b9-024fcc6f3387", "region": "eu-west-1", "version": "3.14.0", "clusterStatus": "CREATE_IN_PROGRESS" } }$pcluster describe-cluster --cluster-namemycluster--regioneu-west-1{ "creationTime": "2021-09-06T11:03:47.696Z", ... "cloudFormationStackStatus": "ROLLBACK_IN_PROGRESS", "clusterName": "mycluster", "computeFleetStatus": "UNKNOWN", "cloudformationStackArn": "arn:aws:cloudformation:eu-west-1:xxx:stack/mycluster/1bf6e7c0-0f01-11ec-a3b9-024fcc6f3387", "lastUpdatedTime": "2021-09-06T11:03:47.696Z", "region": "eu-west-1", "clusterStatus": "CREATE_FAILED" }
Themen
CloudFormation Ereignisse anzeigen auf CREATE_FAILED
Sie können die Konsole oder die AWS ParallelCluster CLI verwenden, um CloudFormation Ereignisse bei CREATE_FAILED Fehlern anzuzeigen und so die Ursache zu finden.
Themen
Ereignisse in der CloudFormation Konsole anzeigen
Weitere Informationen zur Ursache des "CREATE_FAILED" Status finden Sie in der CloudFormation Konsole.
Sehen Sie sich CloudFormation Fehlermeldungen von der Konsole aus an.
-
Melden Sie sich bei der an AWS-Managementkonsole und navigieren Sie zu https://console.aws.amazon.com/cloudformation
. -
Wählen Sie den Stack mit dem Namen
cluster_nameaus. -
Wählen Sie die Registerkarte Ereignisse.
-
Überprüfen Sie den Status der Ressource, die nicht erstellt werden konnte, indem Sie die Liste der Ressourcenereignisse nach der logischen ID durchsuchen. Wenn eine Unteraufgabe nicht erstellt werden konnte, gehen Sie rückwärts vor, um das fehlgeschlagene Ressourcenereignis zu finden.
-
Wenn Sie beispielsweise die folgende Statusmeldung sehen, müssen Sie Instance-Typen verwenden, die Ihr aktuelles vCPU-Limit nicht überschreiten, oder mehr vCPU-Kapazität anfordern.
2022-02-04 16:09:44 UTC-0800 HeadNode CREATE_FAILED You have requested more vCPU capacity than your current vCPU limit of 0 allows for the instance bucket that the specified instance type belongs to. Please visit http://aws.amazon.com/contact-us/ec2-request to request an adjustment to this limit. (Service: AmazonEC2; Status Code: 400; Error Code: VcpuLimitExceeded; Request ID: a9876543-b321-c765-d432-dcba98766789; Proxy: null).
Verwenden Sie die CLI, um CloudFormation Ereignisse anzuzeigen und zu filtern nach CREATE_FAILED
Um das Problem bei der Clustererstellung zu diagnostizieren, können Sie den pcluster get-cluster-stack-events Befehl verwenden, indem Sie nach dem CREATE_FAILED Status filtern. Weitere Informationen finden Sie im AWS Command Line Interface Benutzerhandbuch unter Filtern der AWS CLI Ausgabe.
$pcluster get-cluster-stack-events --cluster-namemycluster--regioneu-west-1\ --query 'events[?resourceStatus==`CREATE_FAILED`]'[ { "eventId": "3ccdedd0-0f03-11ec-8c06-02c352fe2ef9", "physicalResourceId": "arn:aws:cloudformation:eu-west-1:xxx:stack/mycluster/1bf6e7c0-0f02-11ec-a3b9-024fcc6f3387", "resourceStatus": "CREATE_FAILED", "resourceStatusReason": "The following resource(s) failed to create: [HeadNode]. ", "stackId": "arn:aws:cloudformation:eu-west-1:xxx:stack/mycluster/1bf6e7c0-0f02-11ec-a3b9-024fcc6f3387", "stackName": "mycluster", "logicalResourceId": "mycluster", "resourceType": "AWS::CloudFormation::Stack", "timestamp": "2021-09-06T11:11:51.780Z" }, { "eventId": "HeadNode-CREATE_FAILED-2021-09-06T11:11:50.127Z", "physicalResourceId": "i-04e91cc1f4ea796fe", "resourceStatus": "CREATE_FAILED", "resourceStatusReason": "Received FAILURE signal with UniqueId i-04e91cc1f4ea796fe", "resourceProperties": "{\"LaunchTemplate\":{\"Version\":\"1\",\"LaunchTemplateId\":\"lt-057d2b1e687f05a62\"}}", "stackId": "arn:aws:cloudformation:eu-west-1:xxx:stack/mycluster/1bf6e7c0-0f02-11ec-a3b9-024fcc6f3387", "stackName": "mycluster", "logicalResourceId": "HeadNode", "resourceType": "AWS::EC2::Instance", "timestamp": "2021-09-06T11:11:50.127Z" } ]
Im vorherigen Beispiel lag der Fehler an der Einrichtung des Hauptknotens.
Verwenden Sie die CLI, um Protokollstreams anzuzeigen
Um diese Art von Problem zu debuggen, können Sie die vom Hauptknoten aus verfügbaren Log-Streams auflisten, pcluster list-cluster-log-streams indem Sie nach dem Inhalt der Log-Streams filtern node-type und diese anschließend analysieren.
$pcluster list-cluster-log-streams --cluster-namemycluster--regioneu-west-1\ --filters 'Name=node-type,Values=HeadNode'{ "logStreams": [ { "logStreamArn": "arn:aws:logs:eu-west-1:xxx:log-group:/aws/parallelcluster/mycluster-202109061103:log-stream:ip-10-0-0-13.i-04e91cc1f4ea796fe.cfn-init", "logStreamName": "ip-10-0-0-13.i-04e91cc1f4ea796fe.cfn-init", ... }, { "logStreamArn": "arn:aws:logs:eu-west-1:xxx:log-group:/aws/parallelcluster/mycluster-202109061103:log-stream:ip-10-0-0-13.i-04e91cc1f4ea796fe.chef-client", "logStreamName": "ip-10-0-0-13.i-04e91cc1f4ea796fe.chef-client", ... }, { "logStreamArn": "arn:aws:logs:eu-west-1:xxx:log-group:/aws/parallelcluster/mycluster-202109061103:log-stream:ip-10-0-0-13.i-04e91cc1f4ea796fe.cloud-init", "logStreamName": "ip-10-0-0-13.i-04e91cc1f4ea796fe.cloud-init", ... }, ... ] }
Die beiden wichtigsten Protokolldatenströme, die Sie verwenden können, um Initialisierungsfehler zu finden, sind die folgenden:
-
cfn-initist das Protokoll für dascfn-initSkript. Überprüfen Sie zuerst diesen Protokollstream. Sie werden denCommand chef failedFehler wahrscheinlich in diesem Protokoll sehen. Sehen Sie sich die Zeilen unmittelbar vor dieser Zeile an, um weitere Einzelheiten zu der Fehlermeldung zu erfahren. Weitere Informationen finden Sie unter cfn-init. -
cloud-initist das Protokoll für Cloud-Init.Wenn Sie nichts darin sehen, versuchen Sie als cfn-initNächstes, in diesem Protokoll nachzuschauen.
Sie können den Inhalt des Protokollstreams abrufen, indem Sie die folgende Option verwenden pcluster get-cluster-log-events (beachten Sie die --limit 5 Option, die Anzahl der abgerufenen Ereignisse zu begrenzen):
$pcluster get-cluster-log-events --cluster-namemycluster\ --regioneu-west-1--log-stream-nameip-10-0-0-13.i-04e91cc1f4ea796fe.cfn-init\ --limit 5{ "nextToken": "f/36370880979637159565202782352491087067973952362220945409/s", "prevToken": "b/36370880752972385367337528725601470541902663176996585497/s", "events": [ { "message": "2021-09-06 11:11:39,049 [ERROR] Unhandled exception during build: Command runpostinstall failed", "timestamp": "2021-09-06T11:11:39.049Z" }, { "message": "Traceback (most recent call last):\n File \"/opt/aws/bin/cfn-init\", line 176, in <module>\n worklog.build(metadata, configSets)\n File \"/usr/lib/python3.7/site-packages/cfnbootstrap/construction.py\", line 135, in build\n Contractor(metadata).build(configSets, self)\n File \"/usr/lib/python3.7/site-packages/cfnbootstrap/construction.py\", line 561, in build\n self.run_config(config, worklog)\n File \"/usr/lib/python3.7/site-packages/cfnbootstrap/construction.py\", line 573, in run_config\n CloudFormationCarpenter(config, self._auth_config).build(worklog)\n File \"/usr/lib/python3.7/site-packages/cfnbootstrap/construction.py\", line 273, in build\n self._config.commands)\n File \"/usr/lib/python3.7/site-packages/cfnbootstrap/command_tool.py\", line 127, in apply\n raise ToolError(u\"Command %s failed\" % name)", "timestamp": "2021-09-06T11:11:39.049Z" }, { "message": "cfnbootstrap.construction_errors.ToolError: Command runpostinstall failed", "timestamp": "2021-09-06T11:11:39.049Z" }, { "message": "2021-09-06 11:11:49,212 [DEBUG] CloudFormation client initialized with endpoint https://cloudformation.eu-west-1.amazonaws.com", "timestamp": "2021-09-06T11:11:49.212Z" }, { "message": "2021-09-06 11:11:49,213 [DEBUG] Signaling resource HeadNode in stack mycluster with unique ID i-04e91cc1f4ea796fe and status FAILURE", "timestamp": "2021-09-06T11:11:49.213Z" } ] }
Im vorherigen Beispiel wurde der Fehler durch einen runpostinstall Fehler verursacht. Er steht also in engem Zusammenhang mit dem Inhalt des benutzerdefinierten Bootstrap-Skripts, das im OnNodeConfigured Konfigurationsparameter von verwendet wurde. CustomActions
Erstellen Sie den ausgefallenen Cluster erneut mit rollback-on-failure
AWS ParallelCluster erstellt CloudWatch Cluster-Protokollstreams in Protokollgruppen. Sie können diese Protokolle in der CloudWatch Konsole „Benutzerdefinierte Dashboards“ oder „Protokollgruppen“ anzeigen. Weitere Informationen erhalten Sie unter Integration mit Amazon CloudWatch Logs und CloudWatch Amazon-Dashboard. Wenn keine Protokollstreams verfügbar sind, kann der Fehler durch das CustomActions benutzerdefinierte Bootstrap-Skript oder ein AMI-Problem verursacht werden. Um das Erstellungsproblem in diesem Fall zu diagnostizieren, erstellen Sie den Cluster erneut, einschließlich des --rollback-on-failure Parameterspcluster create-cluster, der auf gesetzt ist. false Verwenden Sie dann SSH, um den Cluster anzuzeigen, wie im Folgenden gezeigt:
$pcluster create-cluster --cluster-namemycluster--regioneu-west-1\ --cluster-configurationcluster-config.yaml--rollback-on-failure false{ "cluster": { "clusterName": "mycluster", "cloudformationStackStatus": "CREATE_IN_PROGRESS", "cloudformationStackArn": "arn:aws:cloudformation:eu-west-1:xxx:stack/mycluster/1bf6e7c0-0f01-11ec-a3b9-024fcc6f3387", "region": "eu-west-1", "version": "3.14.0", "clusterStatus": "CREATE_IN_PROGRESS" } }$pcluster ssh --cluster-namemycluster
Nachdem Sie beim Hauptknoten angemeldet sind, sollten Sie drei primäre Protokolldateien finden, anhand derer Sie den Fehler finden können.
-
/var/log/cfn-init.logist das Protokoll für dascfn-initSkript. Überprüfen Sie zuerst dieses Protokoll. Wahrscheinlich wird Ihnen ein Fehler wieCommand chef failedin diesem Protokoll angezeigt. Sehen Sie sich die Zeilen unmittelbar vor dieser Zeile an, um genauere Informationen zu der Fehlermeldung zu erhalten. Weitere Informationen finden Sie unter cfn-init. -
/var/log/cloud-init.logist das Protokoll für Cloud-Init.Wenn Sie nichts darin sehen, versuchen Sie als cfn-init.logNächstes, in diesem Protokoll nachzuschauen. -
/var/log/cloud-init-output.logist die Ausgabe von Befehlen, die von cloud-initausgeführt wurden. Dies beinhaltet die Ausgabe von. cfn-initIn den meisten Fällen müssen Sie sich dieses Protokoll nicht ansehen, um diese Art von Problem zu beheben.