spark 源码安装

clone 源码

git clone git://github.com/apache/spark.git

maven编译源码

国外镜像比较慢,此处修改maven仓库的镜像为阿里云镜像:

 <mirrors>
    <mirror>
      <id>alimaven</id>
      <name>aliyun maven</name>
      <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
      <mirrorOf>central</mirrorOf>        
    </mirror>
  </mirrors>

编译的时候内存设置大一点,以免内存溢出,导致编译失败,此处设置maven内存如下:

export MAVEN_OPTS="-Xmx2g -XX:MaxPermSize=512M
-XX:ReservedCodeCacheSize=512m"

mvn -Pyarn -Phadoop-2.7 -Dhadoop.version=2.7.3 -DskipTests clean package

-Pyarn -Phadoop-2.7 -Dhadoop.version=2.7.3 参考下面的链接:

https://spark.apache.org/docs/latest/building-spark.html#specifying-the-hadoop-version

-D系统参数,-P profile定义

查看hadoop版本:./hadoop version 或者 ./hdfs version

测试编译

./bin/run-example SparkPi 10

结果如下则编译没问题:

spark在yarn集群上的运行

 

注:spark在yarn上运行时不需要启动spark集群的,因为,spark任务是在yarn集群上运行的

 

在yarn上运行spark应用程序有两种方式,第一种是 cluster模式,第二种是client模式,

区别是cluster模式Spark driver运行在yarn集群上,client模式Spark driver运行在客户端进程中。

使用./bin/spark-submit向yarn集群提交spark应用,

$ ./bin/spark-submit --class path.to.your.Class --master yarn --deploy-mode cluster [options] <app jar> [app options]

--class:主类

--master:yarn指定在yarn上运行

--deploy-mode:部署模式cluster 指定为集群模式

  app jar:应用程序打的jar包

应用实例: 

./bin/spark-submit --class spark.examples.wordcount.WordCount --master yarn --deploy-mode  cluster wordcount.jar README.md 

注:运行前请确保yarn的安装时正确的,结果可以在日志文件里面看到

客户端模式如下:

./bin/spark-shell --master yarn --deploy-mode client
./bin/spark-shell --class spark.examples.wordcount.WordCount --master yarn --deploy-mode client --jars wordcount.jar README.md

 

  

 

posted @ 2016-12-08 14:21  天之涯0204  阅读(230)  评论(0编辑  收藏  举报