Scénář: BindException – adresa, která se už používá ve službě Azure HDInsight
Tento článek popisuje postup řešení potíží a možná řešení problémů při interakci s clustery Azure HDInsight.
Problém
Operace restartování na serveru Apache HBase Region Server se nepodaří dokončit. V adresáři region-server.log
v /var/log/hbase
pracovních uzlech, kde selže spuštění oblastového serveru, se může zobrazit podobná chybová zpráva:
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
...
Příčina
Restartování oblastových serverů Apache HBase během aktivity s velkým zatížením Níže je uvedeno, co se stane na pozadí, když uživatel zahájí operaci restartování na serverech oblastí HBase z uživatelského rozhraní Apache Ambari:
Agent Ambari odešle žádost o zastavení na server oblasti.
Agent Ambari počká 30 sekund, než se oblastní server řádně vypne.
Pokud se vaše aplikace dál připojuje k oblastní serveru, server se okamžitě nevypíná. Časový limit 30 sekund vyprší před vypnutím.
Po 30 sekundách odešle agent Ambari na server oblasti příkaz force-kill (
kill -9
).Vzhledem k tomuto náhlému vypnutí se sice ukončí proces serveru oblasti, ale port přidružený k tomuto procesu nemusí být uvolněn, což nakonec vede k
AddressBindException
.
Řešení
Před zahájením restartování snižte zatížení na serverech oblastí HBase. Také je vhodné nejprve vyprázdnit všechny tabulky. Referenční informace o vyprázdnění tabulek najdete v tématu HDInsight HBase: Jak zlepšit čas restartování clusteru Apache HBase vyprázdněním tabulek.
Případně zkuste ručně restartovat oblastní servery na pracovních uzlech pomocí následujících příkazů:
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"
Další kroky
Pokud se váš problém nezobrazuje nebo se vám nedaří problém vyřešit, navštivte některý z následujících kanálů, kde najdete další podporu:
Získejte odpovědi od odborníků na Azure prostřednictvím podpory komunity Azure.
Spojte se s @AzureSupport – oficiálním účtem Microsoft Azure pro zlepšení prostředí pro zákazníky. Propojení komunity Azure se správnými prostředky: odpověďmi, podporou a odborníky
Pokud potřebujete další pomoc, můžete odeslat žádost o podporu z Azure Portal. V řádku nabídek vyberte Podpora nebo otevřete centrum Nápověda a podpora . Podrobnější informace najdete v tématu Vytvoření žádosti o podpora Azure. Přístup ke správě předplatného a podpoře fakturace je součástí vašeho předplatného Microsoft Azure a technická podpora se poskytuje prostřednictvím jednoho z plánů podpory Azure.