Delen via


Scenario: BindException - Adres dat al in gebruik is in Azure HDInsight

In dit artikel worden de stappen voor probleemoplossing en mogelijke oplossingen beschreven voor problemen bij interactie met Azure HDInsight-clusters.

Probleem

De herstartbewerking op een Apache HBase-regioserver kan niet worden voltooid. In de region-server.log map op /var/log/hbase de werkknooppunten waar de regioserver wordt gestart, ziet u mogelijk een foutbericht dat er als volgt uitziet:

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
...

Oorzaak

Start Apache HBase-regioservers opnieuw op tijdens zware workloadactiviteit. Hieronder ziet u wat er achter de schermen gebeurt wanneer een gebruiker de herstartbewerking start op de HBase-regioserver vanuit de Apache Ambari-gebruikersinterface:

  1. De Ambari-agent verzendt een stopaanvraag naar de regioserver.

  2. De Ambari-agent wacht 30 seconden totdat de regioserver probleemloos is afgesloten

  3. Als uw toepassing verbinding blijft maken met de regioserver, wordt de server niet onmiddellijk afgesloten. De time-out van 30 seconden verloopt voordat het afsluiten plaatsvindt.

  4. Na 30 seconden verzendt de Ambari-agent een opdracht force-kill (kill -9) naar de regioserver.

  5. Vanwege deze plotselinge afsluiting, hoewel het proces van de regioserver wordt gedood, wordt de poort die is gekoppeld aan het proces mogelijk niet vrijgegeven, wat uiteindelijk leidt tot AddressBindException.

Oplossing

Verminder de belasting van de HBase-regioservers voordat u een herstart start. Het is ook een goed idee om eerst alle tabellen leeg te maken. Zie HDInsight HBase voor een naslaginformatie over het leegmaken van tabellen : de herstarttijd van het Apache HBase-cluster verbeteren door tabellen leeg te maken.

U kunt ook handmatig regioservers op de werkknooppunten opnieuw opstarten met behulp van de volgende opdrachten:

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"

Volgende stappen

Als u uw probleem niet hebt gezien of uw probleem niet kunt oplossen, gaat u naar een van de volgende kanalen voor meer ondersteuning:

  • Krijg antwoorden van Azure-experts via de ondersteuning van De Azure-community.

  • Maak verbinding met @AzureSupport : het officiĆ«le Microsoft Azure-account voor het verbeteren van de klantervaring. De Azure-community verbinden met de juiste resources: antwoorden, ondersteuning en experts.

  • Als u meer hulp nodig hebt, kunt u een ondersteuningsaanvraag indienen via Azure Portal. Selecteer Ondersteuning in de menubalk of open de Help + ondersteuningshub . Raadpleeg hoe u een ondersteuning voor Azure aanvraag maakt voor meer informatie. Toegang tot abonnementsbeheer en factuurbeheer is in uw Microsoft Azure-abonnement inbegrepen, en technische ondersteuning wordt verstrekt via een van de Azure-ondersteuningsplannen.