次の構成のクラスタでsparkR(spark 2.0.0、yarn)を使用しています。マシン5台(24コア+各200GB RAM)。私の仕事への総資源の割合のみを割り当てるために追加の引数でsparkR.session()を実行するために募集:SparkR - spark.confのデフォルトパラメータをオーバーライド
if(Sys.getenv("SPARK_HOME") == "") Sys.setenv(SPARK_HOME = "/...")
library(SparkR, lib.loc = file.path(Sys.getenv('SPARK_HOME'), "R", "lib"))
sparkR.session(master = "spark://host:7077",
appname = "SparkR",
sparkHome = Sys.getenv("SPARK_HOME"),
sparkConfig = list(spark.driver.memory = "2g"
,spark.executor.memory = "20g"
,spark.executor.cores = "4"
,spark.executor.instances = "10"),
enableHiveSupport = TRUE)
奇妙なことは、パラメータがsparkContextに渡されるように見えたが、同時に私が終わるということです100%のリソース(この例では、5 * 24コア= 120コア、120/4 = 30エグゼキュータ)を使用するxコアエグゼキュータの数です。
私は(これだけデフォルトパラメータはスパークのドキュメントに存在するものである - それらは容易にオーバーライドされるべきで)割り当てられていないデフォルトのPARAMATERSと別のスパークdefaults.confに作成しようとしたことで:I、再び
if(Sys.getenv("SPARK_CONF_DIR") == "") Sys.setenv(SPARK_CONF_DIR = "/...")
http://driver-node:4040のSpark UIを見ても、エグゼキュータの総数は正しくありません(タブ "Executors")。同時に、 "環境"タブのすべての設定パラメータは、Rスクリプトで私が提供したものとまったく同じです。
誰かが理由を知っていますか? R APIまたはインフラストラクチャクラスタ固有の問題(糸の設定など)に問題がありますか?