我正在尝试设置一个独立的Spark 2.0服务器来并行处理分析功能。要做到这一点,我想运行8个工人,每个工人只有一个核心。但是,Spark Master / Worker UI似乎没有反映我的配置。
我正在使用:
spark-env.sh文件配置如下:
SPARK_WORKER_INSTANCES = 8
SPARK_WORKER_CORES = 1
SPARK_WORKER_MEMORY = 2g
spark-defaults.conf的配置如下:
spark.cores.max = 8
我开始掌握:
spark-class org.apache.spark.deploy.master.Master
我通过在批处理文件中运行此命令8次启动工作程序:
spark-class org.apache.spark.deploy.worker.Worker spark://10.0.0.10:7077
问题是UI显示如下:
正如您所看到的,每个工作人员有8个内核而不是1个内核,我通过SPARK_WORKER_CORES设置分配了它。此外,内存反映了整个机器内存,而不是分配给每个工作人员的2g内存。如何在独立模式下将Spark配置为每个工作站1个核心/ 2g运行?
答案 0 :(得分:0)
我修复了这个问题,将核心和内存参数添加到工作者本身。
start spark-class org.apache.spark.deploy.worker.Worker --cores 1 --memory 2g spark://10.0.0.10:7077