Ubuntu 12.04下spark1.0.0 集群搭建(原创)

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 [email protected]:/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.SparkConf

object SimpleApp {
def main(args: Array[String]) {
val logFile = "YOUR_SPARK_HOME/README.md" // Should be some file on your system
val 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


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

Ubuntu 12.04下spark1.0.0 集群搭建(原创),布布扣,bubuko.com

时间: 2024-10-17 02:04:45

Ubuntu 12.04下spark1.0.0 集群搭建(原创)的相关文章

Ubuntu 12.04下Hadoop 2.2.0 集群搭建(原创)

现在大家可以跟我一起来实现Ubuntu 12.04下Hadoop 2.2.0 集群搭建,在这里我使用了两台服务器,一台作为master即namenode主机,另一台作为slave即datanode主机,增加更多的slave只需重复slave部分的内容即可. 系统版本: master:Ubuntu 12.04 slave:Ubuntu 12.04 hadoop:hadoop 2.2.0 安装ssh服务:sudo apt-get install ssh 有时也要更新一下vim:sudo apt-ge

ubuntu Gnome 15.04 /ubuntu 12.04 装cuda 7.0经验贴

ubuntu Gnome 15.04 /ubuntu 12.04 装cuda 7.0经验贴 由于最近要跑caffe,还有要跑一些cuda程序,就边学边配置,一路装过来还真不容易,双系统(Window 7+ubuntu),做一个笔记以后留着来用: 前提工作:已经装好双系统,若没有装好,参考如下: 硬盘安装和U盘安装 [ Win7系统下硬盘安装Ubuntu 12.04双系统 ] 提示:在装好ubuntu系统后若发现,安装完成重启后默认启动为Ubuntu系统,则在程序-附件-终端(快捷键Ctrl+Al

Ubuntu 12.04下在Eclipse IDE for C/C++ Developers中运行C语言的GTK程序

哈哈哈--终于搞定了GTK程序的编译与运行,纠结了近一个月的问题终于得以解决,痛快!近一个月来,不断百度.发博文.百度知道提问.csdn提问--经常发私信.评论博文麻烦大牛,比如sunny2038.轻飘风扬.Sun1956--在此对所有帮助我的人表示感谢! 特别感谢csdn的sunny2038,他的博文<Windows和Ubuntu11.10在Eclipse中配置C和GTK>和热心回复给了我很大的帮助! Neo E. Cai的博文<Ubuntu下GTK的安装.编译和测试>对我具有非

Angularjs学习---angularjs环境搭建,ubuntu 12.04下安装nodejs、npm和karma

1.下载angularjs 进入其官网下载:https://angularjs.org/?,建议下载最新版的:https://ajax.googleapis.com/ajax/libs/angularjs/1.3.0-beta.7/angular.js 所有版本:https://code.angularjs.org/ 2.示例1 HelloWorld ! 新建一个helloworld.html <!doctype html> <html ng-app> <head> &

Ubuntu 12.04 下安装 Eclipse

方法一:(缺点是安装时附加openjdk等大量程序并无法去除,优点是安装简单) $ sudo apt-get install eclipse 方法二:(优点是安装内容清爽,缺点是配置麻烦)1.安装JDK,参考 Ubuntu 12.04 下安装 JDK 7 2.下载 Eclipse 从 http://www.eclipse.org/downloads/index-developer.php下载合适版本,如:Eclipse IDE for C/C++ Developers 3.解压文件$ sudo

Andorid开发学习---ubuntu 12.04下搭建超好用的安卓模拟器genymotion 安装卸载virtualbox 4.3

什么是Genymotion? Genymotion是一套完整的工具,它提供了Android虚拟环境.它简直就是开发者.测试人员.推销者甚至是游戏玩家的福音. Genymotion支持Windows.Linux和Mac OS等操作系统,容易安装和使用:按简单的安装过程,选择一款Android虚拟设备,开启后就体验Genymotion带来的快感吧.-----引自百度百科 一.下载并安装genymotion 1.下载genymotion http://www.genymotion.cn/#theme=

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

看了网上很多关于用linux操作系统搭建网站服务器的教程,于是我自己也测试了很多,但今天所测试的 Ubuntu 12.04下搭建Web网站服务器 (MySQL+PHP+Apache环境),感觉这个适合新手.所以这里就跟大家分享下.其实这个网上也有教程的,但我这里算是优化前辈们的教程吧,因为 我当时按照他们的操作时卡了几次,因为他们的有的地方没讲清楚. Ubuntu 12.04(代号Precise Pangolin)是一个LTS长期支持版本,已如约正式发布.Ubuntu 12.04是第16代Ubu

Ubuntu 12.04下LAMP安装配置

我是一个Linux新手,想要安装一台Ubuntu 12.04版的Linux服务器,用这台服务器上的LAMP套件来运行我自己的个人网站.LAMP套件就是“Linux+Apache+Mysql+PHP这四款软件组成了一个可以使网站运行的套装工具软件.”通过安装尝试,我获得了一些成功的安装配置经验,通过本文提供给Linux网站服务器系统的入门者学习.本次安装的网站软件环境中将使用Apache2网页服务软件.MySQL5网站后台数据库软件.以及PHP5角本解释语言软件,配置成的系统也可提供FTP服务.

Ubuntu 12.04下GAMIT10.40安装说明

转载于:http://www.itxuexiwang.com/a/liunxjishu/2016/0225/164.html?1456481297 Ubuntu 12.04下GAMIT10.40安装步骤: 1 首先就是Gamit软件——gamit.tar.gz的准备,大概64M:2 将下载的gamit.tar.gz复制到 opt/gamit10.40/下面,这里需要建立文件夹10.40,sudo mkdir gamit10.40;3 安装Cshell.sudo apt-get install c