So, I have a spark standalone cluster with 16 worker nodes and one master node. I start the cluster with "sh start-all.sh" command from the master node in spark_home/conf folder. The master node has 32Gb Ram and 14 VCPUS, while I have 16Gb Ram and 8 VCPUS per node. I also have a spring application which, when it starts(with java -jar app.jar), it initializes the spark context. The spark-env.sh file is:
export SPARK_MASTER_HOST='192.168.100.17' export SPARK_WORKER_CORES=1 export SPARK_WORKER_MEMORY=14000mb export SPARK_WORKER_INSTANCES=1 export SPARK_WORKER_OPTS='-Dspark.worker.cleanup.enabled=true -Dspark.worker.cleanup.interval=172800 -Dspark.worker.cleanup.appDataTtl=172800' I do not have anything in spark-defaults.conf and the code for initializing the spark context programmatically is:
@Bean public SparkSession sparksession() { SparkSession sp = SparkSession .builder() .master("spark://....") .config("spark.cassandra.connection.host","192.168.100......") .appName("biomet") .config("spark.driver.memory","20g") .config("spark.driver.maxResultSize", "10g") .config("spark.sql.shuffle.partitions",48) .config("spark.executor.memory","7g") .config("spark.sql.pivotMaxValues","50000") .config("spark.sql.caseSensitive",true) .config("spark.executor.extraClassPath","/home/ubuntu/spark-2.4.3-bin-hadoop2.7/jars/guava-16.0.1.jar") .config("spark.hadoop.fs.s3a.access.key","...") .config("spark.hadoop.fs.s3a.secret.key","...") .getOrCreate(); return sp; } After all this the Environment tab of the Spark UI has spark.driver.maxResultSize 10g and spark.driver.memory 20g BUT the executors tab for the storage memory of the driver says 0.0 B / 4.3 GB.
(FYI: I used to have spark.driver.memory at 10g(programmatically set), and in the executor tab was saying 4.3Gb, but now it seems I cannot change it. But I am thinking that even if when I had it 10g, wasn't it suppose to give me more than 4.3Gb?!)
How can I change the driver memory? I tried setting it from spark-defaults.conf but nothing changed. Even if I do not set at all the driver memory(or set it to smaller than 4.3Gb) it still says 4.3Gb in executors tab.