2017-02-11 33 views
5
( Why does the oozie luncher consume 2 yarn containers? göre)

oozie akışı

1900 çekirdek ve 11TB RAM küme olması için tek bir uygulama ana çalıştırın. Ve ben Oozie WF iş akışının sonraki yapıya sahiptir: (çatal denetim düğümü tarafından) paralel çalışacak aynı yapıda bu alt akışa ise

  • ile

    • Yaklaşık 300-400 subworkflows tek-tek 2-3 saat (uzun süreli kıvılcım görevleri)
    - çeşitli görevleri (java eylemler, kıvılcım görevler, kabuk eylemler)
  • alt akışa bazıları 3-5 dakika içinde yürütebileceği, bazıları çalıştırmak

    Soru şudur: Bu alt çalışma akışlarını tek kapsayıcısında (uygulama yöneticisi) çalıştırmak mümkün mü? Varsayılan olarak, her bir alt çalışma için oozie/iplik iki çekirdekten yararlanır: biri AM için ve diğeri de harita azaltma görevi (denetleyici) için. Ve bu darboğaz - tüm küme tüm çekirdeklerinin sadece kontrol etmek için kullanılan değil, ancak

  • +0

    * "Tüm çekirdeklerin 1/3'ü" * - Sanırım gerçek CPU çekirdeği değil, YARN tarafından tahsis edilen mantıksal "vcores" anlamına gelir. Kümeniz "tam yükte" çalışıyorsa, ancak gerçek CPU kullanımı düşükse, o zaman genel klasörler kullanmak isteyebilirsiniz - cf. https://hortonworks.com/blog/managing-cpu-resources-in-your-hadoop-yarn-clusters/ _ "... Bir yönetici tarafından vcores sayısı ayarlanmalıdır ... Genel öneri ayarlanmasıdır Düğümdeki fiziksel çekirdeklerin sayısına göre, ancak yöneticiler, daha hızlı CPU'ları olan düğümlerde ek kapsayıcılar çalıştırmak isterlerse onu yumruklayabilirler ... "_ - veya çok fazla AM kapsayıcıları varsa. –

    +0

    Evet, vCores, gerçek CPU'lar değil –

    +0

    Ben de Oozie on Yarn özelliği (OOZIE-1770) bir göz tutmak için tavsiye ederim. –

    cevap

    2

    için kullanılır. Sanırım oozie aksiyon işini başlatan kabı kaydetmek için oozenin uber modunu kullanabilirsiniz. AM, eylemi ayrı bir kapsayıcı yerine yapmak yerine başlatır.

    Aşağıdaki özelliği oozie-site.xml'a ekleyin.

    <property> 
        <name>oozie.action.launcher.mapreduce.job.ubertask.enable</name> 
        <value>true</value> 
    </property> 
    
    +1

    evet, benim için en iyi çözüm gibi görünüyor –