Kıvılcım (1.6) bağımsız bir kümeyi kurdum. 1 master var ve işçiler olarak conf/slaves dosyası altında 3 makine eklediler. Kıvılcımdaki işçilerimin her birine 4GB bellek ayırmış olsam da, uygulama çalışırken neden sadece 1024MB kullanıyor? Bunun için kendisine ayrılan 4 GB'yi kullanmak istiyorum. Nerede ve ne yaptığımı anlamaya yardım et.Kıvılcım çalışanı belleği
Aşağıda, kıvılcım ana sayfasının ekran görüntüsü (uygulama, spark-submit kullanılarak çalıştırıldığında), Bellek sütununun altında, 4.0 GB'nin yanında parantez içinde kullanılan 1024.0 MB değerini gösterir.
Ben de gönderin kıvılcım ve ( How to change memory per node for apache spark worker önerildiği gibi) çalışmıyor ile --executor hafızalı 4G seçeneğini ayarlayarak çalıştı.Bunlar spark-env.sh dosyasında belirlenen
ihracat SPARK_WORKER_CORES = 3
ihracat SPARK_WORKER_MEMORY = 4g
ihracat SPARK_WORKER_INSTANCES = 2
Burada ayarlanması gerekenler. Bu, master (driver ???) düğümünde olmalı. Benim durumumda hem usta hem de sürücü aynı. Spark.executor.memory öğesini spark-defaults.conf dosyasında 3g olarak ayarladığımda, kullanılan bellek 3g'ye yükseltildi. Dokümantasyonda olabilir ve onu özledim. Ama başlangıç için teşekkürler. Bu yüzden bunu cevap olarak işaretleyeceğim. – B1K
Bir şey değil. Anlayışımdan "spark.executor.memory" parametresini komut dizisinden geçirerek, çalışanı belirtilen bellekle çalıştırmayı başlatır. Sürücüdeki 'exek-verici-bellek 'bayrağı, her bir yürütücüden ne kadar bellek ayrılması gerektiğini belirlerken, gönderen işin yürütülmesi için. – raschild