Apache Spark:使用spark-submit比运行'#34; standalone"

时间:2016-04-05 13:37:06

标签: java eclipse maven apache-spark

我在Eclipse中设置了一个Maven项目,其中包含一个使用Apache Spark的应用程序。应用程序执行迭代步骤以得出答案。最终我想在群集上部署它。

问题是,当我直接在Eclipse中运行程序时,程序的迭代部分需要57秒。当我使用spark-submit.cmd脚本运行它时,需要152秒!为什么是这样?两者都使用完全相同的配置设置运行,local[*]为主。

Eclipse运行的有效命令行是这条巨大的行http://pastebin.com/5nybz1N3

spark-submit的有效命令是

spark-submit --class org.comanche.yukon.Yukon yukonjar.jar

这是为什么?可能是spark-submit建立了一些实际的网络连接而且我得到了很多延迟吗?我该如何找到?

我也从OutOfMemoryError获得了spark-submit,但没有从Eclipse运行。{这可能是相关的吗?

我唯一的配置就是这样,就像我创建SparkContext

一样
public static void main(String[] args) {
    SparkConf conf = new SparkConf()
        .setAppName("yukon")
        .setMaster("local[*]")
        .set("spark.driver.maxResultSize", "0");
    jsc = new JavaSparkContext(conf);
    ....

我正在使用具有12个逻辑核心的系统。

eclipse的JvM设置是

-startup
plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_64_1.1.300.v20150602-1417
-product
org.eclipse.epp.package.jee.product
--launcher.defaultAction
openFile
--launcher.XXMaxPermSize
256M
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256m
--launcher.defaultAction
openFile
--launcher.appendVmargs
-vmargs
-Dosgi.requiredJavaVersion=1.7
-Xms256m
-Xmx1024m

感谢您的帮助!

0 个答案:

没有答案