我在linux上安装了spark,单节点,master节点也是worker节点, ip是192.168.90.74.使用spark-shell的时候很正常。我想在eclipse开发spark程序并且直接运行调试,但遇到了各种问题,向大家求教。我程序运行在自己的笔记本上,ip是192.168.90.88,我的测试程序如下:
      System.setProperty("user.name", "webuser");  
     JavaSparkContext ct= new JavaSparkContext("spark://192.168.90.74:7077","test--1","/home/webuser/spark/spark-1.5.2-bi   n-hadoop2.4","C://newWorkSpace/java.spark.test/target/java.spark.test-0.0.1-SNAPSHOT.jar");
List list=new ArrayList();
list.add(1);
list.add(6);
list.add(9);
JavaRDD<String> rdd=ct.parallelize(list);
System.out.println(rdd.collect());
rdd.saveAsTextFile("/home/webuser/temp");
ct.close();
      1. 运行的时候要把jar包加进去,这里是使用sparkContext的构造函数加进来的。请问这个jar包必须事先上传到master上然后使用master上的路径吗?
      2.当我把jar路径指定为maste上jar包路径的时候程序才可以运行,之前一直报错找不到盘符c。运行后又有新问题,程序成功的打出了collect结果,但是saveAsTextFile结果不正确,他在我开发的电脑的c盘下面创建了/home/webuser/temp文件夹,没有在运行spark的server上创建,请问这是什么原理?我的理解rdd的action应该运行在worker节点,而我程序运行的地方是driver,为啥他会在driver上创建文件而不是在worker上?