我按照http://blog.cloudera.com/blog/2015/03/how-to-tune-your-apache-spark-jobs-part-2/的说明进行操作
我将--num-executors设置为13,即使我只有8个工作节点 . 在spark程序中,我明确设置了大量的分区
val myPartitioner = new HashPartitioner(20)
spark程序运行正常,但在执行程序控制台中,它始终只显示8个执行程序 . 不应该显示13?
我按照http://blog.cloudera.com/blog/2015/03/how-to-tune-your-apache-spark-jobs-part-2/的说明进行操作
我将--num-executors设置为13,即使我只有8个工作节点 . 在spark程序中,我明确设置了大量的分区
val myPartitioner = new HashPartitioner(20)
spark程序运行正常,但在执行程序控制台中,它始终只显示8个执行程序 . 不应该显示13?
2 回答
link中提到的--num-executors适用于YARN群集模式 .
尝试在conf / spark-env.sh中设置以下环境变量,以增加独立或其他群集模式下的工作者数量,
确保
spark.dynamicAllocation.enabled
设置为 false . 默认情况下,它设置为false,所以如果你没有改变它,它应该没问题 .通过在spark-defaults.conf中添加
spark.executor.instances 13
来修改执行程序的数量 . 或者通过添加代码: