Condividi tramite


Scenario: BindException - Indirizzo già in uso in Azure HDInsight

Questo articolo descrive le procedure di risoluzione dei problemi e le possibili soluzioni per i problemi che si verificano quando si interagisce con i cluster Azure HDInsight.

Problema

L'operazione di riavvio sul server di area Apache HBase non viene completata. Passare dalla directory region-server.log alla /var/log/hbase nei nodi di lavoro in cui l'avvio del server di area ha esito negativo, viene visualizzato un messaggio di errore simile al seguente:

Caused by: java.net.BindException: Problem binding to /10.2.0.4:16020 : Address already in use
...

Caused by: java.net.BindException: Address already in use
...

Causa

Riavvio dei server di area Apache HBase durante un'attività di carico di lavoro intensa. Di seguito è riportato ciò che accade dietro le quinte quando un utente inizia l'operazione di riavvio nel server di area HBase dall'interfaccia utente di Apache Ambari:

  1. L'agente Ambari invia una richiesta di arresto al server di area.

  2. L'agente Ambari attende per 30 secondi l'arresto graduale del server di area.

  3. Se l'applicazione continua a connettersi al server di area, il server non viene arrestato immediatamente. Il timeout di 30 secondi scade prima dell'arresto.

  4. Dopo 30 secondi, l'agente Ambari invia un comando di terminazione forzata (kill -9) al server di area.

  5. A causa di questo arresto improvviso, anche quando il processo del server di area viene terminato, è possibile che la porta associata al non venga rilasciata e ciò alla fine causa AddressBindException.

Risoluzione

Ridurre il carico sui server di area HBase prima di procedere al riavvio. È anche opportuno scaricare prima tutte le tabelle. Per informazioni su come scaricare le tabelle, vedere HDInsight HBase: How to improve the Apache HBase cluster restart time by flushing tables (HBase in HDInsight: come migliorare i tempi di riavvio del cluster Apache HBase scaricando le tabelle).

In alternativa, provare a riavviare manualmente i server di area nei nodi di lavoro usando i comandi seguenti:

sudo su - hbase -c "/usr/hdp/current/hbase-regionserver/bin/hbase-daemon.sh stop regionserver"
sudo su - hbase -c "/usr/hdp/current/hbase-regionserver/bin/hbase-daemon.sh start regionserver"

Passaggi successivi

Se il problema riscontrato non è presente in questo elenco o se non si riesce a risolverlo, visitare uno dei canali seguenti per ottenere ulteriore assistenza:

  • Ricevere risposte dagli esperti di Azure tramite la pagina Supporto della community per Azure.

  • Connettersi con @AzureSupport, l'account ufficiale Microsoft Azure per migliorare l'esperienza del cliente. Mette in contatto la community di Azure con le risorse giuste: risposte, supporto ed esperti.

  • Se serve ulteriore assistenza, è possibile inviare una richiesta di supporto dal portale di Azure. Selezionare Supporto nella barra dei menu o aprire l'hub Guida e supporto. Per informazioni più dettagliate, vedere Come creare una richiesta di supporto in Azure. L'accesso al supporto per la gestione delle sottoscrizioni e la fatturazione è incluso nella sottoscrizione di Microsoft Azure e il supporto tecnico viene fornito tramite uno dei piani di supporto di Azure.