spark1.0.0新版本的于2014-05-30正式发布啦,新的spark版本带来了很多新的特性,提供了更好的API支持,spark1.0.0增加了Spark SQL组件,增强了标准库(ML、streaming、GraphX)以及对JAVA和Python语言的支持;

下面,我们首先进行spark1.0.0集群的安装,在这里我使用了两台服务器,一台作为master即namenode主机,另一台作为slave即datanode主机,增加更多的slave只需重复slave部分的内容即可。:

系统版本:

  • master:Ubuntu 12.04
  • slave:Ubuntu 12.04
  • hadoop:hadoop 2.2.0
  • spark:spark 1.0.0

1. 安装JDK和hadoop集群

  安装过程参见这里

2. 下载安装Scala

  • scala下载地址,这里下载的是最新版scala-2.11.1版本
  • 解压scala,放到/usr/lib目录下

    tar -xzvf scala-2.11.1.tgz

    mv scala-2.11.1 /usr/lib/

  • 配置scala环境变量:sudo vi /etc/profile

   在文件末尾添加scala路径

   

   输入 source /etc/profile 使路径生效

  • 测试scala:scala -version   #若出现scala版本信息说明安装成功

PS:scala需要在所有slave节点上配置

3. 下载安装spark

  • spark1.0.0下载地址,解压spark,放到/home/hadoop

  tar -xzvf spark-1.0.0-bin-hadoop2.tgz

  • 配置spark环境变量:sudo vi /etc/profile

  在文件末尾添加spark路径

  

  输入  source /etc/profile  使路径生效

  • 配置conf/spark-env.sh文件

  若没有该文件,则将 spark-env.sh.template 文件重命名即可,向文件中添加scala、java、hadoop路径以及master ip等信息。

  mv spark-env.sh.template spark-env.sh

  vi spark-env.sh

  

  

  

  • conf/slaves中添加slave节点的hostname一行一个:

  vi slaves

  

4. 在所有slave机器上安装配置spark

现在可以将master主机上的spark文件分发给所有的slave节点,注意slave与master的spark所在目录必须一致,因为master会登录到slave上执行命令,并认为slave的spark路径与自己一样scp -r spark-1.0.0-bin-hadoop2 hadoop@slave:/home/hadoop/

5.启动spark集群
master主机上执行命令:
cd ~/
spark-1.0.0-bin-hadoop2/sbin
./
start-all.sh
检测进程是否启动:输入 jps

配置完成
6. 下面体验一下spark自带的例子

./bin/run-example SparkPi

scala实现一个spark app

官方说明地址,这个小例子用于统计输入文件中字母“a”和字母“b”的个数。网站上提供了scala、java、python三种实现,这里就只做一下scala的吧,这里需要安装SBT(我们使用 sbt 创建、测试、运行和提交作业,可以简单将SBT看做是Scala世界的Maven)。

spark-1.0.0木有自带的sbt,我们可以选择手动安装,当然也可以选择sudo apt-get install sbt的方式(我的系统中木有找到sbt包,所以就只有手动安装咯)。安装方法如下:

  • 下载:sbt下载地址,我下载的是现在的最新版本sbt-0.13.5
  • 解压sbt到/home/hadoop/主目录下(hadoop是我的用户名,其实就是我的HOME啦)

  tar -zxvf sbt-0.13.5.tgz

  cd sbt/bin

  java -jar sbt-launch.jar    #进行sbt安装,时间大约一个小时吧,会下载很多东东,所以记得要联网哦

  • 成功后可以在/etc/profile中配置sbt的环境变量

  sudo vi /etc/profile

  

  输入source /etc/profile 使路径生效

sbt安装完成,下面就来写这个简单的spark app

  • 创建一个目录:mkdir ~/SimpleApp
  • 在SimpleApp目录下,创建如下的目录结构:

  • simple.sbt文件内容如下:
name := "Simple Project"
version := "1.0"
scalaVersion := "2.10.4"
libraryDependencies += "org.apache.spark" %% "spark-core" % "1.0.0"
resolvers += "Akka Repository" at "http://repo.akka.io/releases/"

  • SimpleApp.scala文件内容如下:
/* SimpleApp.scala */
import org.apache.spark.SparkContext
import org.apache.spark.SparkContext._
import org.apache.spark.SparkConfobject SimpleApp {def main(args: Array[String]) {val logFile = "YOUR_SPARK_HOME/README.md" // Should be some file on your systemval conf = new SparkConf().setAppName("Simple Application")val sc = new SparkContext(conf)val logData = sc.textFile(logFile, 2).cache()val numAs = logData.filter(line => line.contains("a")).count()val numBs = logData.filter(line => line.contains("b")).count()println("Lines with a: %s, Lines with b: %s".format(numAs, numBs))}
}

PS:由于我们之前在spark配置过程中将hadoop路径配置好了,因此这里的输入路径YOUR_SPARK_HOME/XXX实际上为HDFS文件系统中的文件,存储位置与hadoop配置文件core-site.xml中的<name>相关(具体可参见这里,这个地方很容易出错)。因此需要先将README.md文件puthdfs上面:

  • 编译:

  cd ~/SimpleApp

  sbt package     #打包过程,时间可能会比较长,最后会出现[success]XXX

  PS:成功后会生成许多文件 target/scala-2.10/simple-project_2.10-1.0.jar等

  • 运行:

  spark-submit --class "SimpleApp" --master local target/scala-2.10/simple-project_2.10-1.0.jar

  • 结果:

7. 停止spark集群

cd ~/spark-1.0.0-bin-hadoop2/sbin

./stop-all.sh


本文为原创博客,若转载请注明出处。

转载于:https://www.cnblogs.com/tec-vegetables/p/3780046.html

Ubuntu 12.04下spark1.0.0 集群搭建(原创)相关推荐

  1. Ubuntu 12.04 下编译Android 4.0.3

    在Ubuntu 12.04 下编译了Android 4.0.3发现了一大堆错误,网上找了一堆的更改源码啊,Android.mk的解决方法,虽然可以编译成功,但都有点坑爹的成分,为了不误人子弟就分享出来 ...

  2. [2014.3.4]天嵌TQ210在Ubuntu 11.04下编译 OpenCV2.0.0(PC)

    (一)先安装cmake (1)网上通用 apt-get install cmake 但我安装后有问题,cmake-gui出现段错误. (2)参考<CMake安装和使用> 解压cmake-2 ...

  3. Ubuntu 12.04下安装Oracle Express 11gR2

    Ubuntu 12.04下安装Oracle Express 11gR2 [我的笔记] 参考1:http://www.linuxidc.com/Linux/2012-09/71382.htm 参考2:h ...

  4. Ubuntu 12.04下搭建Web服务器 (MySQL+PHP+Apache)(转)

    看了网上很多关于用linux操作系统搭建网站服务器的教程,于是我自己也测试了很多,但今天所测试的 Ubuntu 12.04下搭建Web网站服务器 (MySQL+PHP+Apache环境),感觉这个适合 ...

  5. 3070网卡驱动linux教程,Ubuntu 12.04下RT5370无线网卡驱动安装

    之前买了个水星150U的无线网卡,一直没在Ubuntu下安装好驱动?今天再次在Ubuntu 12.04下尝试安装尽然成功了.以前我一直以为是RT2870的芯片的,今天拆开了一看原来是5370N,晕到R ...

  6. linux ubuntu 12.04 下默认是安装了openjdk的

    ubuntu 12.04 下默认是安装了openjdk的,不过这个jdk问题比较多,因为你甚至无法启动Eclipse,所以还是需要自己安装jdk的. 1.下载jdk6 jdk6下载地址为:http:/ ...

  7. Ubuntu 12.04下安装极点五笔输入法

    Ubuntu 12.04下安装极点五笔输入法     刚刚安装好了 Ubuntu 12.04,但是没有五笔的日子实在不好过,WINDOWS下用习惯了极点五笔,本以为极点的作者不出Linux版的,结果在 ...

  8. ubuntu18.04下hadoop安装与集群配置

    ubuntu18.04下hadoop安装与集群配置 hadoop安装_单机/伪分布式配置 环境 创建hadoop用户 更新apt 安装SSH.配置SSH无密码登陆 安装Java环境 安装 Hadoop ...

  9. Redis5.0.x集群搭建

    前言: 本文将介绍Redis5.0三主三从集群搭建以及集群配置. 一.资源配置(3主3从集群) 1.以下为生产环境下,集群搭建所需资源配置: 资源 配置 cpu 4核*6 内存 16G*6 硬盘 20 ...

最新文章

  1. torch.load No module named
  2. locate mysql-server_Mysql问题
  3. 【工具】PC端调试手机端 Html 页面的工具
  4. 服务器型号惠普RX3600,384854-B21 389344-001 146G SAS 15K 3.5寸HP服务器硬盘批发
  5. Understanding Web Internals--The flow of Messages
  6. Pentium Pro架构/流水线及其优化 (2) - 指令流水线 存储子系统详解
  7. 中国女足3:2逆转!支付宝:1300万奖金已到位 蒙牛奖励千万现金
  8. 阿里系 java_阿里系六大开源项目,你知道几个?
  9. go语言开发环境搭建_GO语言开发环境搭建
  10. C# Wke使用例子 (KyozyWke)
  11. 什么叫云服务器?云服务器的概念及优势
  12. WebLogic 性能监控
  13. codeforces 1562 A. The Miracle and the Sleeper
  14. 鸿蒙手机隐藏应用,手机里羞羞的App ,终于可以一键藏起来了!
  15. @Transactional(propagation)
  16. P1244 [NOI2000] 青蛙过河(普及-)
  17. 华为p40手机自带计算机,如何让华为p40与电脑进行连接
  18. 基于jsp的JSP+SQL威客网站的设计
  19. 关于Linux使用pppd拨号,自动断网,重新拨号功能
  20. 电脑性能一目了然,教你用测试软件测试整机性能

热门文章

  1. android手写简单mvp,[webpack]手写一个mvp版本的webpack
  2. 这40个linux命令,提高工作效率
  3. “云”端的语雀:用 JavaScript 全栈打造商业级应用
  4. Kubernetes 会不会“杀死” DevOps?
  5. 下运行maven命令_实话实说 | 这些maven命令,你会几个?
  6. java c s测试_将Zlib Java与C进行基准测试
  7. 钢铁侠机器人公仔_这个618,买个钢铁侠机器人和儿子一起回童年
  8. python class和def的区别_Python中class和def的理解
  9. linux中mysql如何删除库,Linux环境下MySQL基础命令(2)----查看、创建、删除库和表...
  10. qt5 linux 控制台 乱码,qt5.12 解决显示中文乱码问题