我在默认设置的8节点Google dataproc群集上运行pyspark
。启动后 几秒钟我看到运行(如预期)30个执行内核:启动后一分钟火花丢失所有执行者
>>> sc.defaultParallelism 30
一分钟后:
>>> sc.defaultParallelism 2
从这一点所有的动作上只有2个内核上运行:
>>> rng = sc.parallelize(range(1,1000000)) >>> rng.cache() >>> rng.count() >>> rng.getNumPartitions() 2
如果我运行rng.cache()
核心仍然连接时,他们保持连接和作业分布。
检查监测应用程序(主节点上的端口4040)显示执行人被删除:
Executor 1
Removed at 2016/02/25 16:20:14
Reason: Container container_1456414665542_0006_01_000002 exited from explicit termination request."
有一些设置,可以继续使用,无需连接解决方法内核?
如果设置这个值越低,工作是否完成,可能需要更长的时间?换句话说,如果你不使用动态分配,如果他们试图请求比设置更多的执行者,作业会失败吗? – Davos