Share via


Azure HDInsight'ta Apache Oozie sorunlarını giderme

Apache Oozie kullanıcı arabirimi ile Oozie günlüklerini görüntüleyebilirsiniz. Oozie kullanıcı arabirimi, iş akışı tarafından başlatılan MapReduce görevleri için JobTracker günlüklerinin bağlantılarını da içerir. Sorun giderme deseni şu şekilde olmalıdır:

  1. İşi Oozie web kullanıcı arabiriminde görüntüleyin.

  2. Belirli bir eylemde hata veya hata varsa, Hata İletisi alanının hata hakkında daha fazla bilgi sağ görüp sağlamadiğini görmek için eylemi seçin.

  3. Varsa eylemdeki URL'yi kullanarak eylem için JobTracker günlükleri gibi daha fazla ayrıntı görüntüleyin.

Aşağıda karşılaşabileceğiniz belirli hatalar ve bunların nasıl çözülebileceği açıklanabilir.

JA009: Küme başlatılamıyor

Sorun

İş durumu ASKıYA ALINDI olarak değişir. İşin ayrıntıları, RunHiveScriptdurumu START_MANUAL olarak gösterir. Eylemi seçtiğinizde aşağıdaki hata iletisi görüntülenir:

JA009: Cannot initialize Cluster. Please check your configuration for map

Nedeni

job.xml dosyasında kullanılan Azure Blob depolama adresleri depolama kapsayıcısı veya depolama hesabı adını içermez. Blob depolama adresi biçimi olmalıdır wasbs://containername@storageaccountname.blob.core.windows.net.

Çözüm

İşin kullandığı Blob depolama adreslerini değiştirin.


JA002: Oozie'nin KULLANICI kimliğine bürünmesine <izin verilmiyor>

Sorun

İş durumu ASKıYA ALINDI olarak değişir. İşin ayrıntıları, RunHiveScriptdurumu START_MANUAL olarak gösterir. Eylemi seçerseniz aşağıdaki hata iletisi gösterilir:

JA002: User: oozie is not allowed to impersonate <USER>

Nedeni

Geçerli izin ayarları, Oozie'nin belirtilen kullanıcı hesabının kimliğine bürünmesine izin vermiyor.

Çözüm

Oozie gruptaki kullanıcıların kimliğine users bürünebilir. groups USERNAME Kullanıcı hesabının üyesi olduğu grupları görmek için öğesini kullanın. Kullanıcı grubun üyesi users değilse, kullanıcıyı gruba eklemek için aşağıdaki komutu kullanın:

sudo adduser USERNAME users

Not

HDInsight'ın kullanıcının gruba eklendiğini algılaması birkaç dakika sürebilir.


Başlatıcı HATASI (Sqoop)

Sorun

İş durumu KILLED olarak değişir. İşin ayrıntılarında RunSqoopExporthata olarak durum gösterilir. Eylemi seçerseniz aşağıdaki hata iletisi gösterilir:

Launcher ERROR, reason: Main class [org.apache.oozie.action.hadoop.SqoopMain], exit code [1]

Nedeni

Sqoop, veritabanına erişmek için gereken veritabanı sürücüsünü yükleyemiyor.

Çözüm

Bir Oozie işinden Sqoop kullandığınızda, iş tarafından kullanılan workflow.xml gibi diğer kaynaklara veritabanı sürücüsünü eklemeniz gerekir. Ayrıca, workflow.xml bölümünden veritabanı sürücüsünü <sqoop>...</sqoop> içeren arşive başvurun.

Örneğin, Hadoop Oozie iş akışlarını kullanma iş örneği için aşağıdaki adımları kullanırsınız:

  1. mssql-jdbc-7.0.0.jre8.jar Dosyayı /tutorials/useoozie dizinine kopyalayın:

    hdfs dfs -put /usr/share/java/sqljdbc_7.0/enu/mssql-jdbc-7.0.0.jre8.jar /tutorials/useoozie/mssql-jdbc-7.0.0.jre8.jar
    
  2. workflow.xml yukarıdaki </sqoop>yeni bir satıra aşağıdaki XML'yi eklemek için öğesini değiştirin:

    <archive>mssql-jdbc-7.0.0.jre8.jar</archive>
    

Sonraki adımlar

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