在Ubuntu14.04 64bit上搭建单机Spark环境,IDE为Intelli IDEA

一. 环境

Ubuntu14.04 64位
    JDK 1.8.0_73
    scala-2.10.4
    spark 1.5.1  [此处注意Spark版本和Scala版本的兼容性问题]
    IntelliJ IDEA 14.04

二. 安装JDK

1.从http://www.oracle.com/technetwork/java/javase/downloads页面下载JDK 1.8安装包,此处选择的是jdk-8u73-linux-x64.tar.gz
2.解压到软件希望安装的目录下
3.修改环境变量: sudo gedit /etc/profile

  1. export JAVA_HOME=/home/cherish/program/java/jdk1.8.0_73
  2. export JRE_HOME=${JAVA_HOME}/jre
  3. export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
  4. export PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin:$PATH

4.重新载入profile文件:

  1. source /etc/profile

5.验证:

  1. java, javac, java -version

三.安装scala

1.从http://www.scala-lang.org/download/2.10.4.html页面下载scala-2.10.4安装包
2.解压到软件希望安装的目录下
3.修改环境变量: sudo gedit /etc/profile

  1. export SCALA_HOME=/home/cherish/program/scala/scala-2.10.4
  2. export PATH=${SCALA_HOME}/bin:$PATH

4.重新载入profile文件:

  1. source /etc/profile

5.验证:

  1. scala, scala -version

四. 安装spark

1.从http://www.scala-lang.org/download/2.11.7.html页面下载spark安装包,这里我选择的是1.5.1版本的Pre-build for Hadoop2.6 and later.
2.解压到软件希望安装的目录下
3.修改环境变量: sudo gedit /etc/profile

  1. export SPARK_HOME=/home/cherish/program/spark/spark-1.5.1-bin-hadoop2.6
  2. export PATH=${SPARK_HOME}/bin:$PATH

4.重新载入profile文件:

  1. source /etc/profile

五.安装IntelliJ IDEA

1.从http://www.jetbrains.com/idea/download/#section=linux页面下载IntelliJ IDEA安装包,此处选择的版本是14.04
2.解压到软件希望安装的目录下
3.下载插件
  首先启动intelliJ IDEA:在命令行终端中,进入$IDEA_HOME/bin目录,输入sudo ./idea.sh进行启动,进入如下界面,然后选择右下角“plugins”

然后进入以下界面,点击Plugins,由于Scala插件没有安装,需要点击”Install JetBrains plugins"进行安装,如下图所示:

然后进入以下界面,点击下载,等下载安装好后,点击close就ok了

安装插件后,在启动界面中选择创建新项目,弹出的界面中将会出现"Scala"类型项目,如下图,选择scala-》scala

点击next,project name自己随便起的名字,把自己安装的scala和jdk选中,按照上面的安装过程,此处选的为jdk 1.8.0_73, scala-2.10.4!完成后,点击Finish

然后在IDE中File -> project Structure -> Libraries ->“+”,然后进入你安装spark时候解压的 spark-XXX-bin-hadoopXX下,在lib目录下,选择spark-assembly-XXX-hadoopXX.jar,结果如下图所示,然后点击Apply,最后点击ok

现在我们就可以在src下创建一个包,然后创建一个Scala Object,如下图,然后就可以用scala来编写代码了。

六. 测试整个开发环境

下面是一个测试小代码,单词计数,代码如下

  1. package graphTest
  2.  
  3. import org.apache.spark.{SparkConf, SparkContext}
  4.  
  5. /**
  6. * Created by root on 16-3-21.
  7. */
  8. object myFirstScalaObject {
  9. def main(args: Array[String]) {
  10. val conf = new SparkConf()
  11. conf.setAppName("world")
  12. conf.setMaster("local")
  13. val sc = new SparkContext(conf)
  14. val lines = sc.textFile("/home/cherish/programData/test") //数据路径
  15. val words = lines.flatMap{line => line.split(" ")}
  16. val pairs = words.map{ word => (word,1)}
  17. val wordCounts = pairs.reduceByKey(_+_)
  18. wordCounts.foreach(wordNumberPair => println(wordNumberPair._1 + ":" + wordNumberPair._2))
  19. sc.stop()
  20. }
  21. }

然后点击Run即可运行了。

此处运行时如果出现如下的报错信息,则表明Spark版本和Scala版本不兼容,需要更改scala的版本。但是在本文介绍的scala-2.10.4版本与spark 1.5.1版本是兼容的。

  1. Exception in thread "main" java.lang.NoSuchMethodError: scala.collection.immutable.HashSet$.empty()Lscala/collection/immutable/HashSet;

七. 感谢

Ubuntu spark 搭建_在Ubuntu14.04 64bit上搭建单机Spark环境
linux 系统下IntelliJ IDEA的安装及使用

在Ubuntu14.04 64bit上搭建单机Spark环境,IDE为Intelli IDEA的更多相关文章

  1. TeamViewer的下载、安装和使用(windows7、CentOS6.5和Ubuntu14.04(64bit))(图文详解)

    不多说,直接上干货! TeamViewr是远程支持.远程访问.在线协作和会议软件. 分为从windows7.CentOS6.5和Ubuntu14.04(64bit) 系统来详解下载.安装和初步使用! ...

  2. 在Ubuntu 14.04 64bit上安装numpy和matplotlib库

    原文:http://blog.csdn.net/tao_627/article/details/44004541 按照这个成功安装! 机器学习是数据挖掘的一种实现形式,在学习<机器学习实战> ...

  3. Ubuntu14.04 64bit编译u-boot-2016.07提示 Your dtc is too old, please upgrade to dtc 1.4 or newer

    Author:AP0904225版权声明:本文为博主原创文章,转载请标明出处. Ubuntu14.04 64bit环境下编译u-boot-2016.07提示如下错误: CHK include/conf ...

  4. Ubuntu16.04.1上搭建分布式的Redis集群

    为什么要集群: 通常为了,提高网站的响应速度,总是把一些经常用到的数据放到内存中,而不是放到数据库中,Redis是一个很好的Cache工具,当然了还有Memcached,这里只讲Redis.在我们的电 ...

  5. 在Ubuntu 14.04 64bit上安装Markdown和绘图软件Haroopad

    简介 Haroopad:一款让你欲罢不能的Markdown编辑器 身为大程序员,我本来是不需要 Markdown 编辑器的,但是 Haroopad 让我简直欲罢不能,不能再爱更多.跨平台,代码高亮,V ...

  6. 搭建单机CDH环境,并更新spark环境

    搭建单机CDH环境,并更新spark环境 1,安装VMWare Player,http://dlsw.baidu.com/sw-search-sp/soft/90/13927/VMware_playe ...

  7. Ubuntu16.04.1上搭建分布式的Redis集群,并使用C#操作

    为什么要集群: 通常为了,提高网站的响应速度,总是把一些经常用到的数据放到内存中,而不是放到数据库中,Redis是一个很好的Cache工具,当然了还有Memcached,这里只讲Redis.在我们的电 ...

  8. 在WP8上搭建cocos2d-x开发环境

    在WP8上搭建cocos2d-x开发环境 转自:https://github.com/koowolf/cocos-docs/blob/master/manual/framework/native/in ...

  9. 如何在Windows上搭建Android开发环境

    Android开发越来越火,许多小伙伴们纷纷学习Android开发,学习Android开发首要任务是搭建Android开发环境,由于大家 主要实在Windows 上开发Android,下面就详细给大家 ...

随机推荐

  1. shellcode 编码技术

    在很多漏洞利用场景中, shellcode 的内容将会受到限制. 例如你不能输入 \x00 这个字符,编辑框不能输入 \x0d \x0a这样的字符 所以需要完成 shellcode 的逻辑,然后使用编 ...

  2. 《Linux内核分析》第四周学习总结 扒开系统调用的三成皮(上)

    第四周 扒开系统调用的三层皮(上) 郝智宇 无转载 <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 一. ...

  3. Linux内核分析——第八周学习笔记

    实验作业:进程调度时机跟踪分析进程调度与进程切换的过程 20135313吴子怡.北京电子科技学院 [第一部分]理解Linux系统中进程调度的时机 1.Linux的调度程序是一个叫schedule()的 ...

  4. 实训六(Cocos2dx游戏分享到微信朋友圈----AppID的获取)

    考虑把游戏分享到微信朋友圈,前面的博文已经写到,shareSDK是一个很好的选择,但是学习了几天时间,遇到了很多问题,与其在一棵树上吊死,还不如退一步海阔天空,先暂时放一放,于是我考虑了一下既然是分享 ...

  5. [Week2 作业] 代码规范之争

    这四个问题均是出自 http://goodmath.scientopia.org/2011/07/14/stuff-everyone-should-do-part-2-coding-standards ...

  6. ELK 性能(1) — Logstash 性能及其替代方案

    ELK 性能(1) - Logstash 性能及其替代方案 介绍 当谈及集中日志到 Elasticsearch 时,首先想到的日志传输(log shipper)就是 Logstash.开发者听说过它, ...

  7. Drools解决积分问题

    http://blog.csdn.net/quzishen/article/details/6163012 http://www.cnblogs.com/ityouknow/p/7297524.htm ...

  8. Linux下搭建testlink1.9.17

    如果只是要搭建testlink服务的话,建议使用testlink的集成安装包,能避免很多坑 下载地址:https://bitnami.com/stack/testlink/installer 下载好后 ...

  9. BZOJ2743 HEOI2012采花(离线+树状数组)

    如果能够把所有区间内第二次出现某颜色的位置标记出来,树状数组查询一下就可以了. 考虑离线.按左端点从小到大排序,不断移动左端点并更新第二次出现的位置. #include<iostream> ...

  10. UVa 572 油田 (dfs)

    The GeoSurvComp geologic survey company is responsible for detecting underground oil deposits. GeoSu ...