Scenario: BindException – adress som redan används i Azure HDInsight
Den här artikeln beskriver felsökningssteg och möjliga lösningar på problem när du interagerar med Azure HDInsight-kluster.
Problem
Omstartsåtgärden på en Apache HBase-regionserver kan inte slutföras. I katalogen region-server.log
i /var/log/hbase
arbetsnoderna där regionservern startar misslyckas kan du se ett felmeddelande som liknar följande:
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
...
Orsak
Starta om Apache HBase-regionservrar under tung arbetsbelastningsaktivitet. Nedan visas vad som händer i bakgrunden när en användare initierar omstartsåtgärden på HBase-regionserverns från Apache Ambari-användargränssnittet:
Ambari-agenten skickar en stoppbegäran till regionservern.
Ambari-agenten väntar i 30 sekunder på att regionservern ska stängas av korrekt
Om programmet fortsätter att ansluta till regionservern stängs inte servern omedelbart. Tidsgränsen på 30 sekunder går ut innan avstängningen sker.
Efter 30 sekunder skickar Ambari-agenten ett force-kill-kommando (
kill -9
) till regionservern.På grund av den här plötsliga avstängningen, även om regionserverprocessen avbryts, kanske porten som är associerad med processen inte släpps, vilket så småningom leder till
AddressBindException
.
Åtgärd
Minska belastningen på HBase-regionservrarna innan du påbörjar en omstart. Det är också en bra idé att först rensa alla tabeller. En referens om hur du rensar tabeller finns i HDInsight HBase: Så här förbättrar du omstartstiden för Apache HBase-klustret genom att rensa tabeller.
Alternativt kan du försöka starta om regionservrarna manuellt på arbetsnoderna med hjälp av följande kommandon:
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"
Nästa steg
Om du inte ser problemet eller inte kan lösa problemet går du till någon av följande kanaler för mer support:
Få svar från Azure-experter via Azure Community Support.
Anslut med @AzureSupport – det officiella Microsoft Azure-kontot för att förbättra kundupplevelsen. Ansluta Azure-communityn till rätt resurser: svar, support och experter.
Om du behöver mer hjälp kan du skicka en supportbegäran från Azure Portal. Välj Support i menyraden eller öppna hubben Hjälp + support . Mer detaljerad information finns i Skapa en Azure Support begäran. Tillgång till support för prenumerationshantering och fakturering ingår i din Microsoft Azure-prenumeration och teknisk support ges via ett supportavtal för Azure.