微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Ubuntu远程执行Spark程序

Ubuntu远程执行Spark程序

有时候需要远程访问Spark集群,执行任务,或者远程将代码提交到Spark集群,本文尝试了Windows访问Spark集群,和Ubutnu访问Spark集群:

  • Ubuntu访问Spark集群
  • Windows访问Spark集群

Spark程序

import org.apache.spark.SparkConf;
import org.apache.spark.api.java.JavaRDD;
import org.apache.spark.api.java.JavaSparkContext;
//原文链接:http://www.jianshu.com/p/a617005df355
public class Test1 {
    public static String USER="yancy";
    public static void main(String[] args) {
        // Todo Auto-generated method stub
        // 以下构造sc对象的构造方法各参数意义依次为:
        // Spark Master的地址;
        // App的名称
        // HDFS文件的位置;
        String[] jars = {"/home/hadoop/workspace/Spark_test1/Spark_test1.jar"};
        String sparkuil = "spark://10.2.205.212:7077";
        SparkConf sparkConf = new SparkConf().setMaster(sparkuil).setAppName("JavaWordCount");
        sparkConf.setJars(jars);//将jar包分发到集群中,本程序中可
        //以不用,但是对于集群程序需要用到,才能远程执行,
        //这与Hadoop的方法很像
        JavaSparkContext sc = new JavaSparkContext(sparkConf);
        System.out.println(sc);  
        String file = "hdfs://10.2.205.212:9000/1/JavaWordCount.txt";
        JavaRDD<String> data = sc.textFile(file).cache();
        long num = data.count();
        System.out.println("This number is very long .........................................................." + num); 
    }

}

Ubuntu访问Spark集群(正确的)

这里首先是配置,Spark集群的配置可以查看其它的资源,但是远程节点的Ubuntu主机也安装了Spark,和集群所用安装包一样。
Spark版本为spark-1.5.1-bin-hadoop1.tgz,Hadoop版本为1.1.2
但是远程Ubuntu主机上并没有配置Spark环境变量。
Eclipse版本为  Mars.2 Release (4.5.2)
Java版本为: JDK1.7.0._80
在Eclipse上新建Java application,这里没有创建Maven,因为觉得暂时没必要太复杂,因为Spark程序可能要集成到我的Web 后台中,所以只用了简单的方式。

Win7访问Spark集群(没成功)

windows下同样使用Mars版本的Eclipse创建Java项目访问Spark集群, 但是只能连接到Spark集群,就是代码的System.out.println(sc)能够输出,但是到下一步后就会报错,无法读取HDFS文件。尽管我尝试了增加JAVA内存但是还是不行。现在看来,应该是因为Win7上没有安装Spark的原因,暂时先不深究。

16/11/12 10:32:30 INFO Remoting: Remoting started; listening on addresses :[akka.tcp://driverPropsFetcher@10.2.205.206:34787]
16/11/12 10:32:30 INFO Utils: Successfully started service 'driverPropsFetcher' on port 34787.
16/11/12 10:32:32 WARN ReliableDeliverySupervisor: Association with remote system [akka.tcp://sparkDriver@169.254.217.235:65210] has Failed,address is Now gated for [5000] ms. Reason is: [Association Failed with [akka.tcp://sparkDriver@169.254.217.235:65210]].
Exception in thread "main" akka.actor.ActorNotFound: Actor not found for: ActorSelection[Anchor(akka.tcp://sparkDriver@169.254.217.235:65210/),Path(/user/CoarseGrainedScheduler)]

原文地址:https://www.jb51.cc/ubuntu/356116.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐