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:

  1. Agent Ambari odešle žádost o zastavení na server oblasti.

  2. Agent Ambari počká 30 sekund, než se oblastní server řádně vypne.

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

  4. Po 30 sekundách odešle agent Ambari na server oblasti příkaz force-kill (kill -9).

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