Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Debug migliorato delle fasi
Se un EMR passaggio di Amazon ha esito negativo e hai inviato il tuo lavoro utilizzando l'APIoperazione Step con una AMI versione 5.x o successiva, Amazon EMR può identificare e restituire la causa principale dell'errore della fase in alcuni casi, insieme al nome del file di registro pertinente e a una parte dello stack trace dell'applicazione tramite. API Ad esempio, è possibile identificare i seguenti errori:
-
Un errore Hadoop comune come una directory di output già esistente, una directory di input inesistente o un'applicazione con memoria insufficiente.
-
Errori Java, ad esempio un'applicazione compilata con una versione incompatibile di Java o eseguita con una classe principale introvabile.
-
Un problema di accesso agli oggetti archiviati in Amazon S3.
Queste informazioni sono disponibili utilizzando le operazioni DescribeStepand ListStepsAPI. Il FailureDetailscampo StepSummaryrestituito da tali operazioni. Per accedere alle FailureDetails informazioni, usa la console AWS CLI, o AWS SDK.
- Console
-
La nuova EMR console Amazon non offre il debug graduale. Tuttavia, è possibile visualizzare i dettagli della terminazione del cluster con la procedura seguente.
Per visualizzare i dettagli degli errori con la console
-
Accedi a e apri AWS Management Console la EMR console Amazon all'indirizzo https://console.aws.amazon.com/emr.
-
EC2Nel riquadro di navigazione a sinistra, scegli Cluster, quindi seleziona il cluster che desideri visualizzare. EMR
-
Prendi nota del valore Status (Stato) nella sezione Summary (Riepilogo) della pagina dei dettagli del cluster. Se lo stato è Terminated with errors (Terminato con errori), passa con il mouse sul testo per visualizzare i dettagli degli errori del cluster.
- CLI
-
Per visualizzare i dettagli degli errori con AWS CLI
-
Per ottenere i dettagli sugli errori relativi a un passaggio con AWS CLI, utilizzare il describe-step
comando.
aws emr describe-step --cluster-id j-1K48XXXXXHCB --step-id s-3QM0XXXXXM1W
L'output risulterà simile al seguente:
{
"Step": {
"Status": {
"FailureDetails": {
"LogFile": "s3://myBucket/logs/j-1K48XXXXXHCB/steps/s-3QM0XXXXXM1W/stderr.gz",
"Message": "org.apache.hadoop.mapred.FileAlreadyExistsException: Output directory s3://myBucket/logs/beta already exists",
"Reason": "Output directory already exists."
},
"Timeline": {
"EndDateTime": 1469034209.143,
"CreationDateTime": 1469033847.105,
"StartDateTime": 1469034202.881
},
"State": "FAILED",
"StateChangeReason": {}
},
"Config": {
"Args": [
"wordcount",
"s3://myBucket/input/input.txt",
"s3://myBucket/logs/beta"
],
"Jar": "s3://myBucket/jars/hadoop-mapreduce-examples-2.7.2-amzn-1.jar",
"Properties": {}
},
"Id": "s-3QM0XXXXXM1W",
"ActionOnFailure": "CONTINUE",
"Name": "ExampleJob"
}
}