因为我原来对maven和sbt都不熟悉,因此使用两种方法都编译了一下。下面记录一下编译时候遇到的问题。然后介绍一下如果使用IntelliJ IDEA 13.1构建开发环境。

首先准备java环境和scala环境:

1. jdk 1.7

2. scala 2.11.1

1. maven

首先安装maven,我安装的是3.2.3, 可以直接下载binary。解压即可用。需要设置一下环境变量:

export MAVEN_HOME=/project/spark_maven/spark/apache-maven-3.2.3
export MAVEN_OPTS="-Xmx4096m -XX:MaxPermSize=4096m"
export PATH=$PATH:$MAVEN_HOME/bin

由于我的笔记本有16G内存,因此可以给maven比较大的内存。如果MAVEN_OPTS设置的不合理,那么会导致OOM的错误,具体信息可以看这里

使用以下命令编译:

mvn -X -Pyarn -Phadoop-2.2 -Dhadoop.version=2.2.0 -DskipTests clean package

这里使用的是Apache Hadoop 2.2,如果使用比如其他的商业发行版,可以参照官网的信息去编译。

等待一段时间,如果没有error的话,恭喜你编译成功。下面是编译成功的结果:

2. sbt

sbt编译过程比较慢。如果运行sbt说sbt-launch.jar的错误,那么需要手动的安装以下,可以看这里

实际上使用以下命令既可以开始编译了:

./sbt/sbt assembly

有时候由于网络问题可能导致编译hang在某个地方,或者你重启了,那么下次开始变异前需要删除$HOME/.ivy2/

.sbt.ivy.lock

。然后重启开始。sbt会进行增量编译。

3. IDEA

将sbt导入idea,先做以下准备工作:

./sbt/sbt gen-idea

如果发生了错误,再次进行。现在应该不需要设置代理即可完成了。如果要等待lock,那么参照上述的方法删除lock即可。

然后打开IDEA,点击Import Project:

选择工程的默认路径后,选择SBT Project

选择auto即可:

点击Finish即完成了工程的导入。

下面可以使用IDEA编译以下整个工程:

4. IDEA的常用快捷键:

command + B:跳到变量/函数定义处。
command + N:查找类
command + Shift + N: 查找文件
快一点了,以后更新吧。

Spark 1.0 开发环境构建:maven/sbt/idea的更多相关文章

  1. Spark的Java开发环境构建

    为开发和调试SPark应用程序设置的完整的开发环境.这里,我们将使用Java,其实SPark还支持使用Scala, Python和R.我们将使用IntelliJ作为IDE,因为我们对于eclipse再 ...

  2. vue-cli3.0 开发环境构建

    vue-cli3.0官网 1.node版本 node版本要求node>=8.9以上(推荐 8.11.0+)使用以下命令查看node版本 node -v 如果不是最新的请到node下载下载最新版本 ...

  3. 04_Windows平台Spark开发环境构建

    Spark的开发环境,可以基于IDEA+Scala插件,最终将打包得到的jar文件放入Linux服务器上的Spark上运行 如果是Python的小伙伴,可以在Windows上部署spark+hadoo ...

  4. EJB3.0开发环境的搭建

    EJB Container的介绍SUN公司正式推出了EJB的规范之后,在众多的公司和开发者中引起了非常大的反响.标志着用Java开发企业级应用系统将变的非常easy.很多公司都已经推出了或正打算EJB ...

  5. Windows 8.0上Eclipse 4.4.0 配置CentOS 6.5 上的Hadoop2.2.0开发环境

    原文地址:http://www.linuxidc.com/Linux/2014-11/109200.htm 图文详解Windows 8.0上Eclipse 4.4.0 配置CentOS 6.5 上的H ...

  6. android 5.0开发环境搭建

    Android 5.0 是 Google 于 2014 年 10 月 15 日发布的全新 Android 操作系统.本文将就最新的Android 5.0 开发环境搭建做详细介绍. 工具/原料 jdk- ...

  7. windows下cocos2dx3.0开发环境及Android编译环境搭建

    cocos2dx更新到了3.x版本号,自己一直没有换,如今开发组要求统一换版本号,我就把搭建好开发环境的过程记录下来. 一.Windowns下开发环境搭建 1.  所需工具         1)coc ...

  8. Linux下搭建gtk+2.0开发环境

    安装gtk2.0 sudo apt-get install libgtk2.0-dev 查看 2.x 版本 pkg-config --modversion gtk+-2.0 #有可能需要sudo ap ...

  9. (4)Linux(ubuntu)下配置Opencv3.1.0开发环境的详细步骤

    Ubuntu下配置opencv3.1.0开发环境 1.最近工作上用到在Ubuntu下基于QT和opencv库开发应用软件(计算机视觉处理方面),特把opencv的配置过程详细记录,以供分享 2.步骤说 ...

随机推荐

  1. [BZOJ]1011 遥远的行星(HNOI2008)

    由eps引发的血案. Description 直线上N颗行星,X=i处有行星i,行星J受到行星I的作用力,当且仅当i<=A*J.此时J受到作用力的大小为 Fi->j=Mi*Mj/(j-i) ...

  2. bzoj3212 Pku3468 A Simple Problem with Integers 线段树

    3212: Pku3468 A Simple Problem with Integers Time Limit: 1 Sec  Memory Limit: 128 MBSubmit: 2046  So ...

  3. python中如何将生成等差数列和等比数列

    在python库numpy 中提供了函数linspace和logspace函数用于生产等差数列和等比数列.     1.linspace函数生成等差数列 def linspace(start, sto ...

  4. URI与URL

    为了区分URI与URL,我们要引入URN URI = Universal Resource Identifier 统一资源标志符URL = Universal Resource Locator 统一资 ...

  5. display:none

    $("#loadimg").css("display",""); <span id="loadimg"  clas ...

  6. 在vue生命周期中及时销毁全局作用的代码

    一.纯客户端中 对于全局的代码,比如定时器等,在 beforeDestroy或 destroyed 生命周期时将其销毁.如果在跳转路由时候,组件销毁了,全局的定时器却没有销毁,这会使得页面产生卡顿. ...

  7. tree的遍历--广度优先遍历

    一.二叉树demo var tree = { value: '一', left: { value: '二', left: { value: '四', right: { value: '六' } } } ...

  8. 谷歌刚发布的求梯度的工具包-Tangent

    安装很简单sudo pip install tangent. 我机器上,终端上用python,tangent报错,但在终端上用ipython,tangent不报错. 我检验是否可用tangent的方法 ...

  9. ACM FatMouse' Trade

    FatMouse prepared M pounds of cat food, ready to trade with the cats guarding the warehouse containi ...

  10. PHP 实例 AJAX RSS 阅读器

    RSS 是一种描述和同步网站内容的格式,是目前使用最广泛的XML应用. RSS 搭建了信息迅速传播的一个技术平台,使得每个人都成为潜在的信息提供者. RSS 阅读器用于阅读 RSS Feed. AJA ...