Spark akışımı uygulamam için özel metrikleri kaynağım/havuzumu yazdım ve metrics.properties'ten başlatmaya çalışıyorum - ancak bu, yürütücülerden çalışmaz. Spark kümesindeki makinelerde denetimim yok, bu yüzden özellik dosyasını kümedeki $ SPARK_HOME/conf/dizinine kopyalayamıyorum. Uygulamamın oturduğu şişman kavanoza sahibim, ancak şişman kavanoğum kümedeki işçi düğümlerine yüklendiğinde, yürütücüler zaten başlatıldı ve Metrik sistemi zaten başlatıldı - bu nedenle dosyamda özel kaynak yapılandırmasıyla seçilmiyor . ve 'spark.metrics.conf metrics.properties =' ama 'metrics.properties' emirleri yerine getirenlerin gönderildiğinde zaman, onların metrik sistem zatenÖzel kaynak/batık yapılandırmalar tanınmıyor
bu post ardından, 'spark.files = metrics.properties' belirttiğiniz başlatıldı.
Kendi metrik sistemimi başlatırsam, dosyamı alır ancak master/executor düzey metrikleri/özelliklerini (ör. Executor.sink.mySink.propName = myProp) - 'propName' okuyamıyorum 'mySink' den), Spark'un metrik sistemi tarafından initialized olduğu için.
Yürütücüler initialize onların metrik sistemlerinden önce gönderilen 'metrics.properties' öğesinin sahip olması için bir (programatik) yol var mı?
Update1: Ben tek başına Spark 2.0.0 küme
Update2 bu çalışıyorum: Bu ulaşmaya kesmek Düşünce - sizin 'gerçek' kıvılcım işi başlatmadan önce, metrics.properties kopyalamak için bir kukla bir işe başlamak her işçi üzerinde. Sonra gerçek işinizi önceden bilinen dosya konumu ile başlatın. Eksileri - Bir işçi ölürse ve başka bir işçi bu yeri alırsa, bu dosyayı önceden bilinen yolda olmaz. Çözüm alternatifi - yeni bir işçi makinesi başladığında, git-repo'unuzdan metrics.properties'i çeker ve önceden bilinen bir yola yerleştirir. Her ne kadar işe yarayabilirse de, korkunç derecede hacky ve Spark'u dahili olarak desteklemek için tercih edilen bir çözüm.
Bunu denedim. 2 problem - 1) 'metrics.properties' sürücüsünü makineye kopyalamaz - çünkü dosyaları yalnızca yürütücülerin çalışma dizinine kopyalaması gerekiyordu. 2) Bu dosyaları yürütücülere kopyalarken, metrik sistemi, dosya eksikliği nedeniyle başlatmaya ve başarısızlığa uğramaya çalışırdı. –