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à.
Risoluzione degli errori Errori Spark
Se riscontrate errori in AWS Glue, utilizzate le seguenti informazioni per individuare l'origine dei problemi e risolverli.
Nota
Il AWS Glue GitHub repository contiene ulteriori istruzioni per la risoluzione dei problemi nelle AWS Glue
Domande frequenti
Argomenti
- Errore: risorsa non disponibile
- Errore: impossibile trovare l'endpoint o NAT il gateway S3 per subnetId VPC
- Errore: regola in entrata obbligatoria nel gruppo di sicurezza
- Errore: regola in uscita obbligatoria nel gruppo di sicurezza
- Errore: esecuzione del Job non riuscita perché al ruolo passato devono essere assegnate (presupponiamo le autorizzazioni di ruolo per il AWS Glue servizio)
- Errore: l' DescribeVpcEndpoints azione non è autorizzata. impossibile convalidare l'ID vpc-id VPC
- Errore: DescribeRouteTables azione non autorizzata. impossibile convalidare l'ID di sottorete: Subnet-ID in id: vpc-id VPC
- Errore: chiamata a ec2 non riuscita: DescribeSubnets
- Errore: chiamata a ec2 non riuscita: DescribeSecurityGroups
- Errore: impossibile trovare la sottorete per la zona di disponibilità
- Errore: eccezione Job run durante la scrittura su una JDBC destinazione
- Errore: Amazon S3: l'operazione non è valida per la classe di storage dell'oggetto
- Errore: timeout di Amazon S3
- Errore: accesso ad Amazon S3 negato
- Errore: l'ID chiave di accesso Amazon S3 non esiste
- Errore: l'esecuzione del Job non riesce quando si accede ad Amazon S3 con un s3a:// URI
- Errore: token di servizio Amazon S3 scaduto
- Errore: non è stata trovata alcuna interfaccia privata DNS per la rete
- Errore: provisioning dell'endpoint di sviluppo non riuscito
- Errore: server notebook CREATE _ FAILED
- Errore: impossibile avviare il notebook locale
- Errore: esecuzione del crawler non riuscita
- Errore: le partizioni non sono state aggiornate
- Errore: aggiornamento del segnalibro del processo non riuscito a causa della mancata corrispondenza delle versioni
- Errore: un processo sta rielaborando i dati mentre i segnalibri del processo sono abilitati
- Errore: comportamento di failover tra VPCs AWS Glue
Errore: risorsa non disponibile
Se AWS Glue restituisce un messaggio relativo alla risorsa non disponibile, è possibile visualizzare i messaggi di errore o i registri per ottenere ulteriori informazioni sul problema. Le attività seguenti descrivono i metodi generali per la risoluzione dei problemi.
-
Per le connessioni e gli endpoint di sviluppo in uso, controlla che il cluster non abbia esaurito le interfacce di rete elastiche.
Errore: impossibile trovare l'endpoint o NAT il gateway S3 per subnetId VPC
Controlla l'ID di sottorete e l'VPCID nel messaggio per aiutarti a diagnosticare il problema.
-
Verifica di disporre di una configurazione degli VPC endpoint Amazon S3, richiesta con. AWS Glue Inoltre, controlla se il NAT gateway fa parte della tua configurazione. Per ulteriori informazioni, consulta Endpoint Amazon VPC per Amazon S3.
Errore: regola in entrata obbligatoria nel gruppo di sicurezza
Almeno un gruppo di sicurezza deve aprire tutte le porte di ingresso. Per limitare il traffico, è possibile limitare il gruppo di sicurezza di origine in una regola in entrata allo stesso gruppo di sicurezza.
-
Per le connessioni in uso, verifica nel tuo gruppo di sicurezza la presenza di una regola in entrata autoreferenziale. Per ulteriori informazioni, consulta Impostazione dell'accesso di rete agli archivi di dati.
-
Quando usi un endpoint di sviluppo, verifica nel gruppo di sicurezza la presenza di una regola in entrata autoreferenziale. Per ulteriori informazioni, consulta Impostazione dell'accesso di rete agli archivi di dati.
Errore: regola in uscita obbligatoria nel gruppo di sicurezza
Almeno un gruppo di sicurezza deve aprire tutte le porte di uscita. Per limitare il traffico, è possibile limitare il gruppo di sicurezza di origine in una regola in uscita allo stesso gruppo di sicurezza.
-
Per le connessioni in uso, verifica nel tuo gruppo di sicurezza la presenza di una regola in uscita autoreferenziale. Per ulteriori informazioni, consulta Impostazione dell'accesso di rete agli archivi di dati.
-
Quando usi un endpoint di sviluppo, verifica nel gruppo di sicurezza la presenza di una regola in uscita autoreferenziale. Per ulteriori informazioni, consulta Impostazione dell'accesso di rete agli archivi di dati.
Errore: esecuzione del Job non riuscita perché al ruolo passato devono essere assegnate (presupponiamo le autorizzazioni di ruolo per il AWS Glue servizio)
L'utente che definisce un processo deve avere l'autorizzazione iam:PassRole
per AWS Glue.
-
Quando un utente crea un AWS Glue lavoro, conferma che il ruolo dell'utente contenga una politica che contenga
iam:PassRole
for AWS Glue. Per ulteriori informazioni, consulta Fase 3: Collegamento di una policy agli utenti o ai gruppi che accedono a AWS Glue.
Errore: l' DescribeVpcEndpoints azione non è autorizzata. impossibile convalidare l'ID vpc-id VPC
-
Controlla la policy a cui è stata assegnata l'autorizzazione. AWS Glue
ec2:DescribeVpcEndpoints
Errore: DescribeRouteTables azione non autorizzata. impossibile convalidare l'ID di sottorete: Subnet-ID in id: vpc-id VPC
-
Controlla la policy AWS Glue a
ec2:DescribeRouteTables
cui è stata passata l'autorizzazione.
Errore: chiamata a ec2 non riuscita: DescribeSubnets
-
Controlla la policy a cui è stata passata AWS Glue l'
ec2:DescribeSubnets
autorizzazione.
Errore: chiamata a ec2 non riuscita: DescribeSecurityGroups
-
Controlla la policy a cui è stata passata AWS Glue l'
ec2:DescribeSecurityGroups
autorizzazione.
Errore: impossibile trovare la sottorete per la zona di disponibilità
-
La zona di disponibilità potrebbe non essere disponibile per AWS Glue. Crea e utilizza una nuova sottorete in una zona di disponibilità diversa da quella specificata nel messaggio.
Errore: eccezione Job run durante la scrittura su una JDBC destinazione
Quando si esegue un processo che scrive su una JDBC destinazione, il job potrebbe riscontrare errori nei seguenti scenari:
-
Se il job scrive su una tabella di Microsoft SQL Server e la tabella contiene colonne definite come tipo
Boolean
, la tabella deve essere predefinita nel database SQL Server. Quando definisci il processo sulla AWS Glue console utilizzando una destinazione SQL Server con l'opzione Crea tabelle nella destinazione dati, non mappare alcuna colonna di origine a una colonna di destinazione con tipo diBoolean
dati. Potresti riscontrare un errore durante l'esecuzione del processo.Puoi evitare gli errori seguendo questa procedura:
-
Scegli una tabella esistente con la colonna Boolean (Booleano).
-
Modifica la trasformazione
ApplyMapping
e mappa la colonna Boolean (Booleano) nell'origine a un numero o una stringa della destinazione. -
Modifica la trasformazione
ApplyMapping
per rimuovere la colonna Boolean (Booleano) dall'origine.
-
-
Se il processo scrive in una tabella Oracle, potrebbe essere necessario regolare la lunghezza dei nomi degli oggetti Oracle. In alcune versioni di Oracle, la lunghezza massima degli identificatori è limitata a 30 byte o 128 byte. Questo limite riguarda i nomi di tabella e di colonna dei datastore di destinazione di Oracle.
Puoi evitare gli errori seguendo questa procedura:
-
Denomina le tabelle di destinazione di Oracle entro il limite della tua versione.
-
I nomi di colonna predefiniti sono generati dai nomi dei campi nei dati. Per gestire il caso in cui i nomi di colonna sono più lunghi del limite, utilizza le trasformazioni
ApplyMapping
oRenameField
per modificare il nome della colonna in modo che sia entro il limite.
-
Errore: Amazon S3: l'operazione non è valida per la classe di storage dell'oggetto
Se AWS Glue restituisce questo errore, è possibile che il tuo AWS Glue lavoro stia leggendo dati da tabelle con partizioni tra livelli di classi di storage Amazon S3.
-
Utilizzando le esclusioni delle classi di storage, puoi assicurarti che i tuoi AWS Glue job funzionino su tabelle con partizioni tra questi livelli di classi di storage. Senza esclusioni, i lavori che leggono i dati da questi livelli hanno esito negativo con il seguente errore:.
AmazonS3Exception: The operation is not valid for the object's storage class
Per ulteriori informazioni, consulta Esclusione delle classi di storage Amazon S3.
Errore: timeout di Amazon S3
Se AWS Glue restituisce un errore di timeout della connessione, potrebbe essere perché sta tentando di accedere a un bucket Amazon S3 in un'altra regione. AWS
-
Un VPC endpoint Amazon S3 può indirizzare il traffico solo verso i bucket all'interno di una regione. AWS Se devi connetterti a bucket in altre regioni, una possibile soluzione alternativa consiste nell'utilizzare un gateway. NAT Per ulteriori informazioni, consulta NAT Gateway.
Errore: accesso ad Amazon S3 negato
Se AWS Glue restituisce un errore di accesso negato a un bucket o oggetto Amazon S3, è possibile che il IAM ruolo fornito non disponga di una politica che autorizzi il tuo data store.
-
Un ETL job deve avere accesso a un data store Amazon S3 utilizzato come origine o destinazione. Un crawler deve avere accesso a un datastore Amazon S3 in cui viene eseguito il crawling. Per ulteriori informazioni, consulta Fase 2: Creare un IAM ruolo per AWS Glue.
Errore: l'ID chiave di accesso Amazon S3 non esiste
Se durante l'esecuzione di un job viene AWS Glue restituito un errore con la chiave di accesso ID does not exist, potrebbe essere dovuto a uno dei seguenti motivi:
-
Un ETL lavoro utilizza un IAM ruolo per accedere agli archivi dati, verifica che il IAM ruolo relativo al lavoro non sia stato eliminato prima dell'inizio del processo.
-
Un IAM ruolo contiene le autorizzazioni per accedere ai tuoi archivi di dati, verifica che qualsiasi policy
s3:ListBucket
Amazon S3 allegata sia corretta.
Errore: l'esecuzione del Job non riesce quando si accede ad Amazon S3 con un s3a://
URI
Se l'esecuzione di un processo restituisce un errore del tipo Failed to parse XML document with handler class, potrebbe essere dovuto a un errore nel tentativo di elencare centinaia di file utilizzando un. s3a://
URI Accedi invece al tuo archivio dati utilizzando un s3://
URI. La traccia di eccezione seguente evidenzia gli errori da cercare:
1. com.amazonaws.SdkClientException: Failed to parse XML document with handler class com.amazonaws.services.s3.model.transform.XmlResponsesSaxParser$ListBucketHandler 2. at com.amazonaws.services.s3.model.transform.XmlResponsesSaxParser.parseXmlInputStream(XmlResponsesSaxParser.java:161) 3. at com.amazonaws.services.s3.model.transform.XmlResponsesSaxParser.parseListBucketObjectsResponse(XmlResponsesSaxParser.java:317) 4. at com.amazonaws.services.s3.model.transform.Unmarshallers$ListObjectsUnmarshaller.unmarshall(Unmarshallers.java:70) 5. at com.amazonaws.services.s3.model.transform.Unmarshallers$ListObjectsUnmarshaller.unmarshall(Unmarshallers.java:59) 6. at com.amazonaws.services.s3.internal.S3XmlResponseHandler.handle(S3XmlResponseHandler.java:62) 7. at com.amazonaws.services.s3.internal.S3XmlResponseHandler.handle(S3XmlResponseHandler.java:31) 8. at com.amazonaws.http.response.AwsResponseHandlerAdapter.handle(AwsResponseHandlerAdapter.java:70) 9. at com.amazonaws.http.AmazonHttpClient$RequestExecutor.handleResponse(AmazonHttpClient.java:1554) 10. at com.amazonaws.http.AmazonHttpClient$RequestExecutor.executeOneRequest(AmazonHttpClient.java:1272) 11. at com.amazonaws.http.AmazonHttpClient$RequestExecutor.executeHelper(AmazonHttpClient.java:1056) 12. at com.amazonaws.http.AmazonHttpClient$RequestExecutor.doExecute(AmazonHttpClient.java:743) 13. at com.amazonaws.http.AmazonHttpClient$RequestExecutor.executeWithTimer(AmazonHttpClient.java:717) 14. at com.amazonaws.http.AmazonHttpClient$RequestExecutor.execute(AmazonHttpClient.java:699) 15. at com.amazonaws.http.AmazonHttpClient$RequestExecutor.access$500(AmazonHttpClient.java:667) 16. at com.amazonaws.http.AmazonHttpClient$RequestExecutionBuilderImpl.execute(AmazonHttpClient.java:649) 17. at com.amazonaws.http.AmazonHttpClient.execute(AmazonHttpClient.java:513) 18. at com.amazonaws.services.s3.AmazonS3Client.invoke(AmazonS3Client.java:4325) 19. at com.amazonaws.services.s3.AmazonS3Client.invoke(AmazonS3Client.java:4272) 20. at com.amazonaws.services.s3.AmazonS3Client.invoke(AmazonS3Client.java:4266) 21. at com.amazonaws.services.s3.AmazonS3Client.listObjects(AmazonS3Client.java:834) 22. at org.apache.hadoop.fs.s3a.S3AFileSystem.getFileStatus(S3AFileSystem.java:971) 23. at org.apache.hadoop.fs.s3a.S3AFileSystem.deleteUnnecessaryFakeDirectories(S3AFileSystem.java:1155) 24. at org.apache.hadoop.fs.s3a.S3AFileSystem.finishedWrite(S3AFileSystem.java:1144) 25. at org.apache.hadoop.fs.s3a.S3AOutputStream.close(S3AOutputStream.java:142) 26. at org.apache.hadoop.fs.FSDataOutputStream$PositionCache.close(FSDataOutputStream.java:74) 27. at org.apache.hadoop.fs.FSDataOutputStream.close(FSDataOutputStream.java:108) 28. at org.apache.parquet.hadoop.ParquetFileWriter.end(ParquetFileWriter.java:467) 29. at org.apache.parquet.hadoop.InternalParquetRecordWriter.close(InternalParquetRecordWriter.java:117) 30. at org.apache.parquet.hadoop.ParquetRecordWriter.close(ParquetRecordWriter.java:112) 31. at org.apache.spark.sql.execution.datasources.parquet.ParquetOutputWriter.close(ParquetOutputWriter.scala:44) 32. at org.apache.spark.sql.execution.datasources.FileFormatWriter$SingleDirectoryWriteTask.releaseResources(FileFormatWriter.scala:252) 33. at org.apache.spark.sql.execution.datasources.FileFormatWriter$$anonfun$org$apache$spark$sql$execution$datasources$FileFormatWriter$$executeTask$3.apply(FileFormatWriter.scala:191) 34. at org.apache.spark.sql.execution.datasources.FileFormatWriter$$anonfun$org$apache$spark$sql$execution$datasources$FileFormatWriter$$executeTask$3.apply(FileFormatWriter.scala:188) 35. at org.apache.spark.util.Utils$.tryWithSafeFinallyAndFailureCallbacks(Utils.scala:1341) 36. at org.apache.spark.sql.execution.datasources.FileFormatWriter$.org$apache$spark$sql$execution$datasources$FileFormatWriter$$executeTask(FileFormatWriter.scala:193) 37. at org.apache.spark.sql.execution.datasources.FileFormatWriter$$anonfun$write$1$$anonfun$3.apply(FileFormatWriter.scala:129) 38. at org.apache.spark.sql.execution.datasources.FileFormatWriter$$anonfun$write$1$$anonfun$3.apply(FileFormatWriter.scala:128) 39. at org.apache.spark.scheduler.ResultTask.runTask(ResultTask.scala:87) 40. at org.apache.spark.scheduler.Task.run(Task.scala:99) 41. at org.apache.spark.executor.Executor$TaskRunner.run(Executor.scala:282) 42. at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) 43. at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) 44. at java.lang.Thread.run(Thread.java:748)
Errore: token di servizio Amazon S3 scaduto
Durante il trasferimento di dati da e verso Amazon Redshift, vengono utilizzate le credenziali Amazon S3 temporanee che scadono dopo un'ora. Se stai eseguendo un processo lungo, potrebbe non riuscire. Per ulteriori informazioni su come configurare i processi lunghi per trasferire i dati da e verso Amazon Redshift, consulta aws-glue-programming-etl-connect-redshift-home.
Errore: non è stata trovata alcuna interfaccia privata DNS per la rete
Se un processo ha esito negativo o un endpoint di sviluppo non è in grado di effettuare il provisioning, potrebbe essere a causa di un problema della configurazione della rete.
-
Se utilizzi il codice fornito da AmazonDNS, il valore di
enableDnsHostnames
deve essere impostato su true. Per ulteriori informazioni, consulta DNS.
Errore: provisioning dell'endpoint di sviluppo non riuscito
Se AWS Glue non riesce a fornire correttamente un endpoint di sviluppo, potrebbe essere a causa di un problema nella configurazione della rete.
-
Quando si definisce un endpoint di sviluppoVPC, la sottorete e i gruppi di sicurezza vengono convalidati per confermare che soddisfino determinati requisiti.
-
Se hai fornito la chiave SSH pubblica opzionale, verifica che sia una chiave pubblica validaSSH.
-
Verifica nella VPC console che VPC utilizzi un set di DHCP opzioni valido. Per ulteriori informazioni, consulta Set di DHCP opzioni.
-
Se il cluster rimane nello PROVISIONING stato, contatta AWS Support.
Errore: server notebook CREATE _ FAILED
Se AWS Glue non riesce a creare il server notebook per un endpoint di sviluppo, potrebbe essere dovuto a uno dei seguenti problemi:
-
AWS Glue passa un IAM ruolo ad Amazon EC2 durante la configurazione del server notebook. Il IAM ruolo deve avere un rapporto di fiducia con AmazonEC2.
-
Il IAM ruolo deve avere un profilo di istanza con lo stesso nome. Quando crei il ruolo per Amazon EC2 con la IAM console, viene creato automaticamente il profilo dell'istanza con lo stesso nome. Verifica nel log la presenza di un errore relativo al nome del profilo dell'istanza
iamInstanceProfile.name
che non è valido. Per ulteriori informazioni, consulta Using Instance Profiles. -
Verifica che il tuo ruolo sia autorizzato ad accedere ai bucket
aws-glue*
nella policy che passi per creare il server notebook.
Errore: impossibile avviare il notebook locale
Se il notebook locale non si avvia e segnala errori indicanti che una directory o una cartella non viene trovata, potrebbe essere a causa di uno dei seguenti problemi:
-
Se utilizzi Microsoft Windows, accertati che la variabile di ambiente
JAVA_HOME
punti alla directory di Java corretta. È possibile aggiornare Java senza aggiornare questa variabile; se fanno riferimento a una cartella che non esiste più, i notebook Jupyter non riescono ad avviarsi.
Errore: esecuzione del crawler non riuscita
Se AWS Glue non riesce a eseguire correttamente un crawler per catalogare i dati, potrebbe essere per uno dei seguenti motivi. Per prima cosa controlla se è presente un errore nell'elenco dei crawler della console AWS Glue . Controlla se è presente un'icona con il punto esclamativo accanto al nome del crawler e passa il puntatore sopra l'icona per visualizzare i messaggi associati.
-
Controlla i log del crawler eseguito nella sezione Logs in. CloudWatch
/aws-glue/crawlers
Errore: le partizioni non sono state aggiornate
Nel caso in cui le partizioni non fossero aggiornate nel Data Catalog durante l'esecuzione di un ETL job, queste istruzioni di registro della DataSink
classe nei log possono essere utili: CloudWatch
-
"
Attempting to fast-forward updates to the Catalog - nameSpace:
" — Mostra il database, la tabella e i database su cui catalogId si sta tentando di essere modificati da questo processo. Se questa istruzione non è presente qui, verifica seenableUpdateCatalog
è impostato su true e se è stato correttamente passato come parametrogetSink()
o inadditional_options
. -
"
Schema change policy behavior:
" — Mostra il valoreupdateBehavior
dello schema passato. -
“
Schemas qualify (schema compare):
" — Sarà vero o falso. -
“
Schemas qualify (case-insensitive compare):
" — Sarà vero o falso. -
Se entrambi sono falsi e il tuo non
updateBehavior
è impostato suUPDATE_IN_DATABASE
, DynamicFrame lo schema deve essere identico o contenere un sottoinsieme delle colonne visualizzate nello schema della tabella Data Catalog.
Per ulteriori informazioni sull'aggiornamento delle partizioni, consulta la pagina Aggiornamento dello schema e aggiunta di nuove partizioni nel Data Catalog utilizzando AWS Glue ETLlavori.
Errore: aggiornamento del segnalibro del processo non riuscito a causa della mancata corrispondenza delle versioni
È possibile che tu stia tentando di parametrizzare i AWS Glue lavori per applicare la stessa trasformazione/logica su set di dati diversi in Amazon S3. Desideri tenere traccia dei file elaborati nelle posizioni fornite. Quando esegui lo stesso processo sullo stesso bucket di origine e scrivi contemporaneamente nella stessa destinazione o in una destinazione diversa (simultaneità >1), il processo ha esito negativo con il seguente errore:
py4j.protocol.Py4JJavaError: An error occurred while callingz:com.amazonaws.services.glue.util.Job.commit.:com.amazonaws.services.gluejobexecutor.model.VersionMismatchException: Continuation update failed due to version mismatch. Expected version 2 but found version 3
Soluzione: imposta la simultaneità su 1 o non eseguire il processo contemporaneamente.
Attualmente AWS Glue i segnalibri non supportano esecuzioni di job simultanee e i commit avranno esito negativo.
Errore: un processo sta rielaborando i dati mentre i segnalibri del processo sono abilitati
In alcuni casi, è possibile che abbiate abilitato i segnalibri di AWS Glue lavoro, ma il vostro ETL lavoro consiste nel rielaborare dati che erano già stati elaborati in un'esecuzione precedente. Controlla queste cause comuni di questo errore:
Max concorrenza
L'impostazione del numero massimo di esecuzioni simultanee per il processo superiore al valore predefinito di 1 può interferire con i segnalibri dei lavori. Ciò può verificarsi quando i segnalibri dei job controllano l'ora dell'ultima modifica degli oggetti per verificare quali oggetti devono essere rielaborati. Per ulteriori informazioni, consulta la discussione sulla concorrenza massima in Configurazione delle proprietà dei job per i job Spark in AWS Glue.
Oggetto del processo mancante
Assicurati che lo script di esecuzione del lavoro termini con il seguente commit:
job.commit()
Quando si include questo oggetto, AWS Glue registra il timestamp e il percorso dell'esecuzione del processo. Se si esegue nuovamente il processo con lo stesso percorso, AWS Glue elabora solo i nuovi file. Se non includi questo oggetto e i segnalibri del processo sono abilitati, il processo rielabora i file già elaborati con i nuovi file e crea la ridondanza nel datastore di destinazione del processo.
Parametro del contesto di trasformazione mancante
Il contesto di trasformazione è un parametro facoltativo nella classe GlueContext
, ma i segnalibri non funzionano se non lo includi. Per risolvere questo errore, aggiungete il parametro del contesto di trasformazione quando create il DynamicFrame, come illustrato di seguito:
sample_dynF=create_dynamic_frame_from_catalog(database, table_name,transformation_ctx="sample_dynF")
Origine input
Se utilizzate un database relazionale (una JDBC connessione) come sorgente di input, i segnalibri di lavoro funzionano solo se le chiavi primarie della tabella sono in ordine sequenziale. I segnalibri del processo funzionano per le nuove righe, ma non per le righe aggiornate. Questo perché i segnalibri processo cercano le chiavi primarie, già esistenti. Questo non si applica se l'origine di input è Amazon Simple Storage Service (Amazon S3).
Ora ultima modifica
Per origini di input Amazon S3, i segnalibri del processo controllano l'ora dell'ultima modifica piuttosto che i nomi dei file, per verificare gli oggetti da rielaborare. Se i dati dell'origine di input sono stati modificati dall'ultima esecuzione del processo, i file vengono rielaborati alla nuova esecuzione del processo.
Errore: comportamento di failover tra VPCs AWS Glue
Il seguente processo viene utilizzato per il failover dei lavori nella AWS Glue versione 4.0 e nelle versioni precedenti.
Riepilogo: viene selezionata una AWS Glue connessione al momento dell'invio di un processo. Se l'esecuzione del processo riscontra dei problemi (mancanza di indirizzi IP, connettività all'origine, problema di instradamento), essa avrà esito negativo. Se sono configurati nuovi tentativi, AWS Glue riproverà con la stessa connessione.
-
Per ogni tentativo di esecuzione, AWS Glue controllerà lo stato delle connessioni nell'ordine indicato nella configurazione del processo, fino a quando non ne trova una da utilizzare. In caso di errore nella zona di disponibilità (AZ), le connessioni da quella zona non supereranno il controllo e verranno ignorate.
-
AWS Glue convalida la connessione con quanto segue:
verifica la presenza di un VPC ID Amazon e di una sottorete validi.
verifica l'esistenza di un NAT gateway o di un VPC endpoint Amazon.
Verifica che la sottorete abbia più di 0 indirizzi IP allocati.
Verifica che l'AZ sia integra.
AWS Glue non è in grado di verificare la connettività al momento dell'invio dell'esecuzione del lavoro.
-
Per i lavori che utilizzano AmazonVPC, tutti i driver e gli executor verranno creati nella stessa AZ con la connessione selezionata al momento dell'invio dell'esecuzione del lavoro.
-
Se sono configurati nuovi tentativi, AWS Glue riproverà con la stessa connessione. Questo perché non è detto che i problemi con questa connessione durino a lungo. Se un'AZ riscontra un errore, le esecuzioni di processo esistenti (a seconda della fase in cui si trovano) in tale AZ possono riscontrare a loro volta un errore. Un nuovo tentativo dovrebbe rilevare un errore di AZ e scegliere un'altra AZ per la nuova esecuzione.