spark standalone同时运行pyspark和spark-shell
需要限制资源数量,使用 spark.cores.max
或 --total-executor-cores
来指定最大核数。
假设集群一共4c5.6g
pyspark(使用2c2g)
from pyspark.sql import SparkSession
spark = SparkSession.builder \
.master("spark://worker1:7077") \
.appName("pysparkApp") \
.config("spark.executor.memory", "1g") \
.config("spark.executor.cores", 1) \
.config("spark.cores.max", 2) \
.getOrCreate()
spark-shell(使用2c2g)
spark-shell --master spark://worker1:7077 --executor-memory 1g --executor-cores 1 --total-executor-cores 2
如果不进行限制,则一个交互式终端将占用全部资源,导致另一个交互式终端为WAITING状态