Aracılığıyla paylaş


Senaryo: BindException - Azure HDInsight'ta zaten kullanımda olan adres

Bu makalede, Azure HDInsight kümeleriyle etkileşim kurarken karşılaşılan sorunlara yönelik sorun giderme adımları ve olası çözümler açıklanmaktadır.

Sorun

Apache HBase Bölge Sunucusu'nda yeniden başlatma işlemi tamamlanamıyor. Bölge sunucusu başlatma işleminin region-server.log başarısız olduğu çalışan düğümlerindeki in /var/log/hbase dizininden aşağıdakine benzer bir hata iletisi görebilirsiniz:

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

Nedeni

Yoğun iş yükü etkinliği sırasında Apache HBase Bölge Sunucularını yeniden başlatma. Aşağıda, kullanıcı Apache Ambari kullanıcı arabiriminden HBase bölge sunucularında yeniden başlatma işlemini başlattığında arka planda neler olduğu gösterilir:

  1. Ambari aracısı bölge sunucusuna bir durdurma isteği gönderir.

  2. Ambari aracısı bölge sunucusunun düzgün bir şekilde kapatılması için 30 saniye bekler

  3. Uygulamanız bölge sunucusuna bağlanmaya devam ederse sunucu hemen kapanmaz. Kapatma gerçekleşmeden önce 30 saniyelik zaman aşımı süresi dolar.

  4. 30 saniye sonra Ambari aracısı bölge sunucusuna bir force-kill (kill -9) komutu gönderir.

  5. Bu ani kapatma nedeniyle, bölge sunucusu işlemi sonlandırılsa da işlemle ilişkili bağlantı noktası serbest bırakılmayabilir ve bu da sonunda 'a AddressBindExceptionyol açar.

Çözüm

Yeniden başlatmadan önce HBase bölge sunucularındaki yükü azaltın. Ayrıca, önce tüm tabloları temizlemek iyi bir fikirdir. Tabloların nasıl temizleneceğini gösteren bir başvuru için bkz. HDInsight HBase: Tabloları temizleyerek Apache HBase kümesi yeniden başlatma süresini geliştirme.

Alternatif olarak, aşağıdaki komutları kullanarak çalışan düğümlerinde bölge sunucularını el ile yeniden başlatmayı deneyin:

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"

Sonraki adımlar

Sorununuzu görmediyseniz veya sorununuzu çözemiyorsanız daha fazla destek için aşağıdaki kanallardan birini ziyaret edin: