spark 有三种编译方式:SBT、MAVEN、make-distribution.sh。SBT、MAVEN两种方式打出来的包比较大,不适合部署使用。因此我们通常使用第三种方式打包。

./make-distribution.sh --tgz --skip-java-test --with-tachyon -Dyarn.version=2.2. -Dhadoop.version=2.2. -Djava.version=1.7 -Dprotobuf.version=2.5. -Pyarn -Phive -Phive-thriftserver

这条命令可以简化为:

./make-distribution.sh --tgz --skip-java-test --with-tachyon -Dhadoop.version=2.2. -Djava.version=1.7 -Dprotobuf.version=2.5. -Pyarn -Phive -Phive-thriftserver

因为yarn的版本用的是hadoop版本变量,即hadoop是什么版本,yarn就是什么版本。

1.使用这种方式不用单独修改maven配置,因为脚本里面会在编译之前执行这条命令

2.--tgz 生成部署包;

3.--skip-java-test 滤过测试阶段;

4.--with-tachyon 感觉tachyon是趋势,所以加上tachyon的支持;

5.-Dhadoop.version 指定hadoop的版本,默认为1.0.4;

6.-Djava.version 指定java版本,默认是1.6;

7.-Dprotobuf.version 指定protobuf的版本,默认是2.4.1;这里指定是因为hadoop使用的2.5.0,不修改的话搭配的时候会出问题;

8.-Pyarn -Phive -Pthriftserver 分别加入yarn、hive的支持。

在根目录下面生成了一个binary包


解压部署包后或者直接在编译过的目录,通过配置conf下的文件,就可以使用spark了


关于编译的时候scala版本问题,我遇到过,它默认的是2.10.4,现在最新的2.11.x,如果不指定直接编译,外部编写scala程序的时候需要引用编译好的jar包,会产生scala版本冲突

但是如果编译的时候指定,就需要注意,如果指定过新的版本,比如

./make-distribution.sh --tgz --skip-java-test -Dyarn.version=2.2. -Dhadoop.version=2.2. -Pyarn -Phive -Phive-thriftserver -Dscala-2.11

编译的时候就会出现类似

我也去网上找了,assembly包最新更新到了scala2.10的版本,所以不会编译成功,除非自己再去编译assembly的jar包,比较麻烦

我采取的是降低自己的使用的scala版本,和spark保持一致,反正没什么区别


如果编译的时候指定了--with-tachyon,那么会在出现编译成功后任务不停止,继续下载tachyon的binary包,然后拆解加入即将生成的spark部署包中


spark1.2.0编译的更多相关文章

  1. Apache Spark1.1.0部署与开发环境搭建

    Spark是Apache公司推出的一种基于Hadoop Distributed File System(HDFS)的并行计算架构.与MapReduce不同,Spark并不局限于编写map和reduce ...

  2. CentOS 7.0编译安装Nginx1.6.0+MySQL5.6.19+PHP5.5.14

    准备篇: CentOS 7.0系统安装配置图解教程 http://www.osyunwei.com/archives/7829.html 一.配置防火墙,开启80端口.3306端口 CentOS 7. ...

  3. centos 7.0 编译安装php 7.0.3

    php下载页面 http://cn2.php.net/downloads.php 7.0.3多地区下载页面 http://cn2.php.net/get/php-7.0.3.tar.gz/from/a ...

  4. Valgrind 3.11.0编译安装

    Valgrind 3.11.0编译安装 Valgrind是一款用于内存调试.内存泄漏检测以及性能分析的软件开发工具. Valgrind遵守GNU通用公共许可证条款,是一款自由软件. 到3.3.0版本为 ...

  5. 基于Spark1.3.0的Spark sql三个核心部分

    基于Spark1.3.0的Spark sql三个核心部分: 1.可以架子啊各种结构化数据源(JSON,Hive,and Parquet) 2.可以让你通过SQL,saprk内部程序或者外部攻击,通过标 ...

  6. android5.0 编译

    android5.0编译需要jdk1.7版本,将来本地可能需要同时维护两套jdk版本,请参考: 在线安装openjdk1.7 sudo apt-get install openjdk-7-jre op ...

  7. spark1.2.0版本SparkSQL使用parquet类型注意事项

    在Spark1.2.0版本中是用parquet存储类型时注意事项: sql语句: select * from order_created_dynamic_partition_parquet; 在spa ...

  8. spark1.2.0安装

    standalone 安装SCALA 下载.解压.加入环境变量 安装spark1.2.0 下载.解压.加入环境变量 tar zxvf spark--bin-.tgz export SPARK_HOME ...

  9. VC6.0编译boost

    今天学习了下VC6.0下boost的编译,只是对regex进行了编译,据说全部编译需要2个多小时,在此记录下学习过程中遇到的问题以便今后查看. 最开始直接从网上(www.boost.org)下载了当前 ...

随机推荐

  1. 第二百零二天 how can I 坚持

    最近增肥好明显,胃口好没办法,只要肚子起不来就行了.加油. 其实挺幸福,想吃啥吃啥. 鱼会不会被冻死,买了加热棒不想用,该咋办呢. 股市又跌没了一千多,还是不够睿智,不够淡定. 人活这一辈子,到底最想 ...

  2. JXTA+JavaFX实现的网络黑白棋测试地址

    http://www.qhdbaobao.com/dist/secondegg-reversi.html ——————————————————————————————————————————————— ...

  3. Prefabs

    [Prefabs] A Prefab is a type of asset -- a reusable GameObject stored in Project View. Prefabs can b ...

  4. iOS 中self和super如何理解?

    或许你理解self和super都是指的是类的对象   self指的是本类的对象,而super指的是父类的对象,但是事实情况呢,可能有些和你想象的不一样? 简单看下下面例子: @interface Pe ...

  5. CCF 201403-1 相反数 (水题)

    问题描述 有 N 个非零且各不相同的整数.请你编一个程序求出它们中有多少对相反数(a 和 -a 为一对相反数). 输入格式 第一行包含一个正整数 N.(1 ≤ N ≤ 500). 第二行为 N 个用单 ...

  6. GetSafeHwnd()函数解释[转]

    当我们想得到一个窗口对象(CWnd的派生对象)指针的句柄(HWND)时,最安全的方法是使用GetSafeHwnd()函数,通过下面的例子来看其理由: CWnd *pwnd = FindWindow(“ ...

  7. url中的scheme

    iPhone上URL Schemes的作用为应用程序提供了一个其他应用程序或者safari可以启动他的方法. --http://blog.sina.com.cn/s/blog_5673c12f0100 ...

  8. chart.js接口开发:X轴步长和Labels旋转角

    一. 当初为什么选择chart.js 当初项目使用库是Zepto,Zepto能支持的chart处理库太少.也是为了使得项目比较轻量化,所以选择了chart.js. 但是最后的显示结果实在太差,放弃了c ...

  9. as3.0:文字 效果

    //文字描边效果var tf1 = _root.createTextField("tf1", _root.getNextHighestDepth(), 10, 10, 0, 0); ...

  10. STUN: NAT 类型检测方法

    STUN(Simple Transversal of UDP through NATs)[21]是RFC3489 规定的一种NAT 穿透方式,它采用辅助的方法探测NAT 的IP 和端口. STUN 的 ...