Spark 1.0 开发环境构建:maven/sbt/idea
因为我原来对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的常用快捷键:
Spark 1.0 开发环境构建:maven/sbt/idea的更多相关文章
- Spark的Java开发环境构建
为开发和调试SPark应用程序设置的完整的开发环境.这里,我们将使用Java,其实SPark还支持使用Scala, Python和R.我们将使用IntelliJ作为IDE,因为我们对于eclipse再 ...
- vue-cli3.0 开发环境构建
vue-cli3.0官网 1.node版本 node版本要求node>=8.9以上(推荐 8.11.0+)使用以下命令查看node版本 node -v 如果不是最新的请到node下载下载最新版本 ...
- 04_Windows平台Spark开发环境构建
Spark的开发环境,可以基于IDEA+Scala插件,最终将打包得到的jar文件放入Linux服务器上的Spark上运行 如果是Python的小伙伴,可以在Windows上部署spark+hadoo ...
- EJB3.0开发环境的搭建
EJB Container的介绍SUN公司正式推出了EJB的规范之后,在众多的公司和开发者中引起了非常大的反响.标志着用Java开发企业级应用系统将变的非常easy.很多公司都已经推出了或正打算EJB ...
- 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 ...
- android 5.0开发环境搭建
Android 5.0 是 Google 于 2014 年 10 月 15 日发布的全新 Android 操作系统.本文将就最新的Android 5.0 开发环境搭建做详细介绍. 工具/原料 jdk- ...
- windows下cocos2dx3.0开发环境及Android编译环境搭建
cocos2dx更新到了3.x版本号,自己一直没有换,如今开发组要求统一换版本号,我就把搭建好开发环境的过程记录下来. 一.Windowns下开发环境搭建 1. 所需工具 1)coc ...
- Linux下搭建gtk+2.0开发环境
安装gtk2.0 sudo apt-get install libgtk2.0-dev 查看 2.x 版本 pkg-config --modversion gtk+-2.0 #有可能需要sudo ap ...
- (4)Linux(ubuntu)下配置Opencv3.1.0开发环境的详细步骤
Ubuntu下配置opencv3.1.0开发环境 1.最近工作上用到在Ubuntu下基于QT和opencv库开发应用软件(计算机视觉处理方面),特把opencv的配置过程详细记录,以供分享 2.步骤说 ...
随机推荐
- WebStorm配置node.js调试
最近因为工作关系,一直在做node.js的开发,学习了koa框架,orm框架sequelize,以及swagger文档的配置.但是,最近因为swagger文档使用了es6的修饰器那么个东西(在java ...
- 在Unix系统中,主存索引节点和辅存索引节点从内容上比较有什么不同,为什么要设置主存索引节点?
主存索引节点和辅存索引节点的不同主要体现在:主存索引节点状态:设备号.索引节点号:引用计数. 主存索引节点状态——反映主存索引节点的使用情况.它指示出: 1. 索引节点是否被锁上了: 2. 是否有 ...
- 镜像文件、光盘、iso文件、启动盘
刚入大学,有一门计算机硬件维修课程,韩国彬老师(学生们公认的好老师).当时韩老师教给了我们好多实用的好东西,例如装系统,做镜像文件,装虚拟机,ghost版本系统,计算机组装等等.由于高中刚刚过度到大学 ...
- TensorFlow 聊天机器人开源项目评测第一期:DeepQA
聊天机器人开源项目评测第一期:DeepQA https://github.com/Conchylicultor/DeepQA 用 i5 的笔记本早上运行到下午,跑了 3 轮的结果,最后效果并不理想.官 ...
- Mysql锁机制--读锁
Mysql 系列文章主页 =============== 1 准备数据 1.1 建表 1.1.1 建立 Employee表 DROP TABLE IF EXISTS employee; CREATE ...
- RxSwift 系列(八) -- Error Handing Operators
前言 本篇文章我们将学习RxSwift中的错误处理,包括: catchErrorJustReturn catchError retry retry(_:) catchErrorJustReturn 遇 ...
- vue之生命周期
vue的生命周期的过程提供了我们执行自定义逻辑的机会,好好理解它的生命周期,对我们很有帮助. 1.vue实例的生命周期(vue2.0) 2.生命周期描述:(参考截图) 3.例子 window.vm = ...
- 网络七层OSI模型简介
0. 网络七层OSI模型(Open System Interconnection)总览: 1. 应用层 2. 表示层 :表示层的作用是使通信的应用程序能够解释交换数据的含义.这些服务包括数据压缩 ...
- sublimetext 自定义build
Nodejs { "cmd": "node $file", "shell": "true", "selecto ...
- iOS 中的类属性
转自:iOS 知识小集 从Xcode 8开始,LLVM已经支持Objective-C显式声明类属性了,这是为了与Swift中的类属性互操作而引入的.在WWDC 2016 What's New in L ...