Comprendere e risolvere gli errori ricevuti da WebHCat in HDInsightUnderstand and resolve errors received from WebHCat on HDInsight

Informazioni sugli errori che si ricevono durante l'utilizzo di WebHCat con HDInsight e su come risolverli.Learn about errors received when using WebHCat with HDInsight, and how to resolve them. WebHCat viene usato internamente dagli strumenti sul lato client, ad esempio Azure PowerShell e Strumenti Data Lake per Visual Studio.WebHCat is used internally by client-side tools such as Azure PowerShell and the Data Lake Tools for Visual Studio.

Che cos'è WebHCatWhat is WebHCat

WebHCat è un'API REST per HCatalog, un livello di gestione tabelle e risorse di archiviazione per Hadoop.WebHCat is a REST API for HCatalog, a table, and storage management layer for Hadoop. WebHCat è abilitato per impostazione predefinita nei cluster HDInsight e viene usato da vari strumenti per inviare processi, recuperare lo stato dei processi e così via, senza effettuare l'accesso al cluster.WebHCat is enabled by default on HDInsight clusters, and is used by various tools to submit jobs, get job status, etc. without logging in to the cluster.

Modifica della configurazioneModifying configuration

Importante

Alcuni degli errori elencati in questo documento si verificano perché è stato superato un valore massimo configurato.Several of the errors listed in this document occur because a configured maximum has been exceeded. La procedura di risoluzione indica che è possibile modificare un valore, per eseguire la modifica è necessario usare uno dei seguenti passaggi:When the resolution step mentions that you can change a value, you must use one of the following to perform the change:

  • Per cluster Windows : usare un'azione di script per configurare il valore durante la creazione del cluster.For Windows clusters: Use a script action to configure the value during cluster creation. Per altre informazioni, vedere Sviluppare azioni di script.For more information, see Develop script actions.

  • Per cluster Linux : usare Ambari (web o API REST) per modificare il valore.For Linux clusters: Use Ambari (web or REST API) to modify the value. Per altre informazioni, vedere Gestire HDInsight tramite AmbariFor more information, see Manage HDInsight using Ambari

Importante

Linux è l'unico sistema operativo usato in HDInsight versione 3.4 o successiva.Linux is the only operating system used on HDInsight version 3.4 or greater. Per altre informazioni, vedere la sezione relativa al ritiro di HDInsight in Windows.For more information, see HDInsight retirement on Windows.

Configurazione predefinitaDefault configuration

Il superamento dei valori predefiniti seguenti può determinare una riduzione delle prestazioni di WebHCat o la generazione di errori:If the following default values are exceeded, it can degrade WebHCat performance or cause errors:

ImpostazioneSetting RisultatoWhat it does Valore predefinitoDefault value
yarn.scheduler.capacity.maximum-applicationsyarn.scheduler.capacity.maximum-applications Il numero massimo di processi che possono essere attivi contemporaneamente (in sospeso o in esecuzione)The maximum number of jobs that can be active concurrently (pending or running) 10.00010,000
templeton.exec.max-procstempleton.exec.max-procs Il numero massimo di richieste che possono essere gestite contemporaneamenteThe maximum number of requests that can be served concurrently 2020
mapreduce.jobhistory.max-age-msmapreduce.jobhistory.max-age-ms Il numero di giorni durante i quali verrà mantenuta la cronologia del processoThe number of days that job history are retained 7 giorni7 days

Numero eccessivo di richiesteToo many requests

Codice di stato HTTP: 429HTTP Status code: 429

CausaCause RisoluzioneResolution
È stato superato il numero massimo di richieste contemporanee gestite da WebHCat al minuto (il valore predefinito è 20)You have exceeded the maximum concurrent requests served by WebHCat per minute (default 20) Ridurre il carico di lavoro per garantire che non venga inviato più del numero massimo di richieste contemporanee o aumentare il limite di richieste contemporanee modificando templeton.exec.max-procs.Reduce your workload to ensure that you do not submit more than the maximum number of concurrent requests or increase the concurrent request limit by modifying templeton.exec.max-procs. Per altre informazioni, vedere Modifica della configurazioneFor more information, see Modifying configuration

Server non disponibileServer unavailable

Codice di stato HTTP: 503HTTP Status code: 503

CausaCause RisoluzioneResolution
Questo codice di stato si verifica in genere durante il failover tra il nodo head primario e secondario per il clusterThis status code usually occurs during failover between the primary and secondary HeadNode for the cluster Attendere due minuti, quindi ripetere l'operazioneWait two minutes, then retry the operation

Contenuto richiesta non valido: impossibile trovare il processoBad request Content: Could not find job

Codice di stato HTTP: 400HTTP Status code: 400

CausaCause RisoluzioneResolution
I dettagli dei processi sono stati rimossi dalla pulitura della cronologia dei processiJob details have been cleaned up by the job history cleaner Il periodo di conservazione predefinito per la cronologia dei processi è 7 giorni.The default retention period for job history is 7 days. Il periodo di conservazione predefinito può essere cambiato modificando mapreduce.jobhistory.max-age-ms.The default retention period can be changed by modifying mapreduce.jobhistory.max-age-ms. Per altre informazioni, vedere Modifica della configurazioneFor more information, see Modifying configuration
Il processo è stato terminato a causa di un failoverJob has been killed due to a failover Ripetere l'invio del processo per due minutiRetry job submission for up to two minutes
È stato utilizzato un ID processo non validoAn Invalid job id was used Controllare se l'ID processo è correttoCheck if the job id is correct

Gateway non validoBad gateway

Codice di stato HTTP: 502HTTP Status code: 502

CausaCause RisoluzioneResolution
Operazione interna di Garbage Collection nel processo WebHCatInternal garbage collection is occurring within the WebHCat process Attendere che l’operazione di Garbage Collection venga completata o riavviare il servizio WebHCatWait for garbage collection to finish or restart the WebHCat service
Timeout in attesa di una risposta dal servizio Resource Manager.Time out waiting on a response from the ResourceManager service. Questo errore può verificarsi quando il numero di applicazioni attive supera il numero massimo configurato (il valore predefinito è 10.000)This error can occur when the number of active applications goes the configured maximum (default 10,000) Attendere che i processi attualmente in esecuzione vengano completati o aumentare il limite di processi simultanei modificando yarn.scheduler.capacity.maximum-applications.Wait for currently running jobs to complete or increase the concurrent job limit by modifying yarn.scheduler.capacity.maximum-applications. Per altre informazioni, vedere la sezione Modifica della configurazione.For more information, see the Modifying configuration section.
Quando si tenta di recuperare tutti i processi tramite la chiamata GET /jobs mentre Fieldsè impostato su *Attempting to retrieve all jobs through the GET /jobs call while Fields is set to * Non recuperare i dettagli di tutti i processi.Do not retrieve all job details. Usare invece jobid per recuperare i dettagli solo dei processi successivi a un determinato ID processo. Oppure, non utilizzare FieldsInstead use jobid to retrieve details for jobs only greater than certain job id. Or, do not use Fields
Il servizio WebHCat è inattivo durante il failover del nodo headThe WebHCat service is down during HeadNode failover Attendere due minuti e ripetere l'operazioneWait for two minutes and retry the operation
Sono presenti più di 500 processi in sospeso inviati tramite WebHCatThere are more than 500 pending jobs submitted through WebHCat Attendere il completamento dei processi attualmente in sospeso prima di inviare altri processiWait until currently pending jobs have completed before submitting more jobs