Complete a 3 Question Survey and Earn a re:Post Badge
Help improve AWS Support Official channel in re:Post and share your experience - complete a quick three-question survey to earn a re:Post badge!
Come posso risolvere l'errore di AWS Glue "The specified subnet does not have enough free addresses to satisfy the request"?
Ho eseguito un processo di estrazione, trasformazione e caricamento (ETL) AWS Glue. Tuttavia, il processo non è riuscito e ho ricevuto un messaggio di errore indicante un numero insufficiente di indirizzi IP liberi nella sottorete.
Breve descrizione
Quando esegui un processo ETL AWS Glue, potresti ricevere uno dei seguenti errori:
- "The specified subnet does not have enough free addresses to satisfy the request. (Service: AmazonEC2; Status Code: 400; Error Code: InsufficientFreeAddressesInSubnet; Request ID: my_request_id)"
- "An error occurred calling o70.getDynamicFrame. Job 0 cancelled because SparkContext was shut down caused by threshold for executors failed after launch reached"
Gli errori precedenti si verificano per i seguenti motivi:
- Il processo AWS Glue utilizza più unità di elaborazione dati (DPU) rispetto agli indirizzi IP disponibili.
- Altri servizi AWS utilizzano indirizzi IP nella stessa sottorete.
- Non hai scollegato le interfacce di rete elastiche dopo il completamento del processo.
Risoluzione
Verifica quante DPU sono utilizzate dal processo e riducine il numero
Assicurati che il processo sia completo. Quindi verifica quante DPU sono state utilizzate dal processo e determina il numero di DPU che puoi rimuovere.
Per verificare quante DPU sono state utilizzate dal processo, completa i seguenti passaggi:
- Apri la console AWS Glue.
- Nel pannello di navigazione scegli Processi.
- Seleziona il processo, quindi scegli la scheda Cronologia.
- Controlla il numero di DPU nella colonna Capacità massima.
Quindi determina il numero di DPU rimovibili dal processo.
Il numero di DPU non è uguale al numero di interfacce di rete.
Ogni worker richiede un'interfaccia di rete, ad eccezione dei seguenti tipi che richiedono ciascuno un'interfaccia di rete aggiuntiva:
- Tipo di worker standard (1 DPU per worker)
- Tipo di worker G1.X (1 DPU per worker)
- Tipo di worker G2.X (2 DPU)
Ad esempio, se esegui un processo con 20 worker di tipo G.2x, calcola il numero di indirizzi IP come segue:
AWS Glue 2.0/3.0/4.0: 40 DPU = 19 worker (esecutori) + 1 driver = 20 indirizzi IP (nessun runner di attività in AWS Glue 2.0/3.0/4.0)
Per ridurre il numero di DPU, completa i seguenti passaggi:
- Apri la console AWS Glue.
- Nel pannello di navigazione scegli Processi, quindi seleziona il processo.
- Scegli l'elenco a discesa Operazione, quindi scegli Modifica processo.
- Espandi l'elenco Security configuration, script libraries, and job parameters (optional) (Configurazione di sicurezza, librerie di script e parametri di processo (opzionale)).
- Nel campo Capacità massima inserisci un numero inferiore per il numero massimo di DPU utilizzabili dal processo.
- Salva le modifiche, quindi esegui nuovamente il processo.
Controlla il numero di indirizzi IP disponibili ed elimina le interfacce di rete inutilizzate
Innanzitutto verifica il numero di indirizzi IP disponibili nella sottorete.
Completa i seguenti passaggi:
- Apri la console AWS Glue.
- Nel pannello di navigazione scegli Connessioni.
- Seleziona la connessione utilizzata dal processo.
- Scegli l'elenco a discesa Operazione, quindi Visualizza dettagli.
- Annota la sottorete.
- Apri la console Amazon VPC.
- Nel pannello di navigazione scegli Sottoreti.
- Nell'elenco a discesa Sottorete scegli la sottorete utilizzata dalla connessione AWS Glue.
- Nella scheda Descrizione seleziona il campo Indirizzi IPv4 disponibili per visualizzare quanti indirizzi IP sono disponibili nella sottorete.
- Verifica che la sottorete abbia più indirizzi IP disponibili di quelli richiesti dal processo AWS Glue.
Se la sottorete non dispone di un numero sufficiente di indirizzi IP disponibili, elimina tutte le interfacce di rete inutilizzate.
Crea e utilizza una sottorete con più indirizzi IP disponibili
Se la sottorete esistente non dispone di un numero sufficiente di indirizzi IP, crea una nuova sottorete in Amazon VPC. Puoi utilizzare il blocco CIDR originale o aggiungerne uno nuovo per espandere l'intervallo. Quindi verifica che la nuova sottorete utilizzi la stessa tabella di routing e le stesse regole della lista di controllo degli accessi alla rete (ACL) della sottorete originale. Ad esempio, se la sottorete precedente aveva una route predefinita verso un gateway Internet, la nuova sottorete deve essere indirizzata a un gateway Internet.
Aggiorna la connessione AWS Glue in modo che utilizzi la nuova sottorete
Completa i seguenti passaggi:
- Apri la console AWS Glue.
- Nel pannello di navigazione scegli Connessioni.
- Seleziona la connessione utilizzata dal processo AWS Glue.
- Nell'elenco a discesa Operazione scegli Modifica connessione.
- Nella pagina Setup your connection's properties (Configura le proprietà della connessione) scegli Avanti.
- Nella pagina Setup access to your data store (Configura l’accesso al datastore), nell'elenco a discesa Sottorete, seleziona la nuova sottorete.
- Scegli Avanti, quindi scegli Fine.
- Esegui nuovamente il processo.
Informazioni correlate
Definire le proprietà di processo per i processi Spark
Configurazione di Amazon VPC per connessioni JDBC ai datastore Amazon RDS da AWS Glue
Video correlati

