Azure HDInsight kullanarak Apache Hadoop YARN sorunlarını giderme
Apache Ambari'de Apache Hadoop YARN yükleriyle çalışırken karşılaşılan en önemli sorunlar ve çözümleri hakkında bilgi edinin.
Bir kümede yeni bir YARN kuyruğu oluşturmak Nasıl yaparım??
Çözüm adımları
Ambari'de aşağıdaki adımları kullanarak yeni bir YARN kuyruğu oluşturun ve ardından kapasite ayırmayı tüm kuyruklar arasında dengeleyin.
Bu örnekte iki mevcut kuyruk (varsayılan ve thriftsvr) %50 kapasiteden %25 kapasiteye değiştirilerek yeni kuyruğa (spark) %50 kapasite sağlanır.
Sıra | Kapasite | Maksimum kapasite |
---|---|---|
varsayılan | %25 | %50 |
thrftsvr | %25 | %50 |
spark | %50 | %50 |
Ambari Görünümleri simgesini ve ardından kılavuz desenini seçin. Ardından YARN Kuyruk Yöneticisi'ne tıklayın.
Varsayılan kuyruğu seçin.
Varsayılan kuyruk için kapasiteyi %50'den %25'e değiştirin. thriftsvr kuyruğu için kapasiteyi %25 olarak değiştirin.
Yeni bir kuyruk oluşturmak için Kuyruk Ekle'yi seçin.
Yeni kuyruğu adlandırın.
Kapasite değerlerini %50 olarak bırakın ve eylemler düğmesini seçin.
Kuyrukları Kaydet ve Yenile'yi seçin.
Bu değişiklikler YARN Scheduler kullanıcı arabiriminde hemen görünür.
Daha fazla bilgi
Bir kümeden YARN günlüklerini Nasıl yaparım? indirin?
Çözüm adımları
Secure Shell (SSH) istemcisi kullanarak HDInsight kümesine bağlanın. Daha fazla bilgi için bkz . Daha fazla bilgi.
Çalışmakta olan YARN uygulamalarının tüm uygulama kimliklerini listelemek için aşağıdaki komutu çalıştırın:
yarn top
Kimlikler APPLICATIONID sütununda listelenir. Günlükleri APPLICATIONID sütunundan indirebilirsiniz.
YARN top - 18:00:07, up 19d, 0:14, 0 active users, queue(s): root NodeManager(s): 4 total, 4 active, 0 unhealthy, 0 decommissioned, 0 lost, 0 rebooted Queue(s) Applications: 2 running, 10 submitted, 0 pending, 8 completed, 0 killed, 0 failed Queue(s) Mem(GB): 97 available, 3 allocated, 0 pending, 0 reserved Queue(s) VCores: 58 available, 2 allocated, 0 pending, 0 reserved Queue(s) Containers: 2 allocated, 0 pending, 0 reserved APPLICATIONID USER TYPE QUEUE #CONT #RCONT VCORES RVCORES MEM RMEM VCORESECS MEMSECS %PROGR TIME NAME application_1490377567345_0007 hive spark thriftsvr 1 0 1 0 1G 0G 1628407 2442611 10.00 18:20:20 Thrift JDBC/ODBC Server application_1490377567345_0006 hive spark thriftsvr 1 0 1 0 1G 0G 1628430 2442645 10.00 18:20:20 Thrift JDBC/ODBC Server
Tüm uygulama yöneticileri için YARN kapsayıcı günlüklerini indirmek için aşağıdaki komutu kullanın:
yarn logs -applicationIdn logs -applicationId <application_id> -am ALL > amlogs.txt
Bu komut amlogs.txt adlı bir günlük dosyası oluşturur.
YALNıZCA en son uygulama yöneticisine yönelik YARN kapsayıcı günlüklerini indirmek için aşağıdaki komutu kullanın:
yarn logs -applicationIdn logs -applicationId <application_id> -am -1 > latestamlogs.txt
Bu komut latestamlogs.txt adlı bir günlük dosyası oluşturur.
İlk iki uygulama yöneticisinin YARN kapsayıcı günlüklerini indirmek için aşağıdaki komutu kullanın:
yarn logs -applicationIdn logs -applicationId <application_id> -am 1,2 > first2amlogs.txt
Bu komut, first2amlogs.txt adlı bir günlük dosyası oluşturur.
Tüm YARN kapsayıcı günlüklerini indirmek için aşağıdaki komutu kullanın:
yarn logs -applicationIdn logs -applicationId <application_id> > logs.txt
Bu komut, logs.txt adlı bir günlük dosyası oluşturur.
Belirli bir kapsayıcının YARN kapsayıcı günlüğünü indirmek için aşağıdaki komutu kullanın:
yarn logs -applicationIdn logs -applicationId <application_id> -containerId <container_id> > containerlogs.txt
Bu komut containerlogs.txt adlı bir günlük dosyası oluşturur.
Ek okuma
Yarn Uygulama Tanılama Bilgileri'ne Nasıl yaparım? bakın?
Yarn kullanıcı arabirimindeki tanılama, Yarn üzerinde çalışan uygulamalarınızın durumunu ve günlüklerini görüntülemenizi sağlayan bir özelliktir. Tanılama, uygulamalarınızın performansını ve kaynak kullanımını izlemenin yanı sıra sorun gidermenize ve uygulamalarınızda hata ayıklamanıza yardımcı olabilir.
Belirli bir uygulamanın tanılamasını görüntülemek için uygulamalar listesinde uygulama kimliğine tıklayabilirsiniz. Uygulama ayrıntıları sayfasında, uygulamayı çalıştırmak için yapılan tüm girişimlerin listesini de görebilirsiniz. Deneme kimliği, kapsayıcı kimliği, düğüm kimliği, başlangıç zamanı, bitiş saati ve tanılama gibi diğer ayrıntıları görmek için herhangi bir girişime tıklayabilirsiniz
YARN ile ilgili yaygın sorunları Nasıl yaparım? giderebilirsiniz?
Yarn kullanıcı arabirimi yüklenmiyor
YARN kullanıcı arabiriminiz yüklenmiyorsa veya erişilemiyorsa ve "HTTP Hatası 502.3 - Hatalı Ağ Geçidi" döndürüyorsa, Resource Manager hizmetinizin iyi durumda olmadığını gösterir. Hatayı düzeltmek için şu adımları izleyin:
- Ambari UI>YARN>ÖZETİ'ne gidin ve yalnızca etkin Resource Manager'ın Başlatıldı durumunda olup olmadığını denetleyin. Aksi takdirde, iyi durumda olmayan veya durdurulan Resource Manager'ı yeniden başlatarak azaltmayı deneyin.
- 1. adım sorunu çözmezse etkin Resource Manager baş düğümü SSH'yi seçin ve kullanarak
jstat -gcutil <Resource Manager pid> 1000 100
çöp toplama durumunu denetleyin. FGCT'nin yalnızca birkaç saniye içinde önemli ölçüde arttığını görürseniz, Resource Manager'ın Tam GC'de meşgul olduğunu ve diğer istekleri işleyemediğini gösterir. - Ambari kullanıcı arabirimi>YARN>YAPILANDIRMALAR>Gelişmiş sayfasına gidip
Resource Manager java heap size
değerini artırın. - Ambari kullanıcı arabiriminden gerekli hizmetleri yeniden başlatın.
Her iki kaynak yöneticisi de beklemede
- Benzer bir hata olup olmadığını görmek için Resource Manager günlüğünü denetleyin.
Service RMActiveServices failed in state STARTED; cause: org.apache.hadoop.service.ServiceStateException: com.google.protobuf.InvalidProtocolBufferException: Could not obtain block: BP-452067264-10.0.0.16-1608006815288:blk_1074235266_494491 file=/yarn/node-labels/nodelabel.mirror
Hata varsa, bazı dosyaların çoğaltma kapsamında olup olmadığını veya HDFS’de eksik bloklar olup olmadığını denetleyin.
hdfs fsck hdfs://mycluster/
çalıştırabilirsinizHDFS'yi çok zorla temizleyip hazır bekleyen RM sorunundan kurtulmak için komutunu çalıştırın
hdfs fsck hdfs://mycluster/ -delete
. Alternatif olarak, kümeye düzeltme eki uygulamak için baş düğümlerden birinde PatchYarnNodeLabel komutunu çalıştırın.
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ından 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’ne ve faturalandırma desteğine erişim Microsoft Azure aboneliğinize dahildir, Teknik Destek ise herhangi bir Azure Destek Planı üzerinden sağlanır.