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)]

相关文章

目录前言一、创建Hadoop用户二、更新apt和安装Vim编辑器三、...
原文连接:https://www.cnblogs.com/yasmi/p/5192694.html ...
电脑重启后,打开VirtualBox,发现一直用的虚拟机莫名的消失...
参见:https://blog.csdn.net/weixin_38883338/article/deta...
Ubuntu 18.04 LTS 已切换到 Netplan 来配置网络接口。Netpla...
介绍每个 Web 服务都可以通过特定的 URL 在 Internet 上访问...