【实例】Spark本地开发环境搭建

本文使用Scala2.10.6,sbt。请自行提前装好。

设置SSH,本地免密码登录

因为Spark master需要ssh到Spark worker中执行命令,所以,需要免密码登录。


  1. cat ~/.ssh/id_rsa.pub > ~/.ssh/authorized_keys 

执行ssh localhost确认一下,如果不需要密码登录就说明OK了。

Tips: Mac下可能ssh不到本地,请检查你sharing设置:

【实例】Spark本地开发环境搭建

下载Spark

http://spark.apache.org/downloads.html

我选择的是spark-1.6.0-bin-cdh4.tgz 。看到cdh4(Hadoop的一个分发版本),别以为它是要你装Hadoop。其实不然,要看你自己的开发需求。因为我不需要,所以,我只装Spark。

配置你的Spark slave

我很好奇,worker和slave这个名称有什么不同?还是因为历史原因,导致本质上一个东西但是两种叫法?

在你的Spark HOME路径下


  1. cp ./conf/slaves.template ./conf/slaves 

slaves文件中有一行localhost代表在本地启动一个Spark worker。

启动Spark伪分布式


  1. /sbin/start-all.sh 

执行JPS验证Spark启动成功


  1.  jps 
  2. 83141 Worker 
  3. 83178 Jps 
  4. 83020 Master 

打开你的Spark界面

http://localhost:8080

【实例】Spark本地开发环境搭建

下载Spark项目骨架

为方便我自己开发,我自己创建了一个Spark应用开发的项目骨架。

  1. 下载项目骨架: http://git.oschina.net/zacker330/spark-skeleton
  2. 项目路径中执行:sbt package 编译打包你的spark应用程序。

将你的spark应用程序提交给spark master执行


  1. <SPARK_HOME>/bin/spark-submit \  
  2.        --class "SimpleApp" \ 
  3.        --master spark://Jacks-MBP.workgroup:7077 \ 
  4.            target/scala-2.10/spark-skeleton_2.10-1.0.jar 

这个“spark://Jacks-MBP.workgroup:7077”是你在 http://localhost:8080 中看到的URL的值

可以看到打印出: hello world


本文作者:翟志军

来源:51CTO