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:
Ambari aracısı bölge sunucusuna bir durdurma isteği gönderir.
Ambari aracısı bölge sunucusunun düzgün bir şekilde kapatılması için 30 saniye bekler
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.
30 saniye sonra Ambari aracısı bölge sunucusuna bir force-kill (
kill -9
) komutu gönderir.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
AddressBindException
yol 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:
Azure Topluluk Desteği aracılığıyla Azure uzmanlarından yanıt alın.
müşteri deneyimini geliştirmek için resmi Microsoft Azure hesabı olan @AzureSupport ile bağlantı kurun. Azure topluluğunun doğru kaynaklara bağlanması: yanıtlar, destek ve uzmanlar.
Daha fazla yardıma ihtiyacınız varsa Azure portal bir destek isteği gönderebilirsiniz. Menü çubuğundan Destek'i seçin veya Yardım + destek hub'ını açın. Daha ayrıntılı bilgi için bkz. Azure desteği isteği oluşturma. Abonelik Yönetimi ve faturalama desteğine erişim, Microsoft Azure aboneliğinize dahildir ve Teknik Destek, Azure Destek Planlarından biri aracılığıyla sağlanır.
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin