之前在用Hadoop写ML算法的时候就隐约感觉Hadoop实在是不适合ML这些比较复杂的算法。记得当时写完kmeans后,发现每个job完成后都需要将结果放在HDFS中,然后下次迭代的时候再从文件中读取,对于kmeans这种高迭代的算法,感觉Hadoop的瓶颈会出现在IO上,后来又写了个Naive bayes,这种非常简单的算法,用Hadoop写,由于只有一种mapreduce范式,完全感觉到力不从心,为了处理这些简单的格式,总共用了4个mapreduce才完成,哭了。后面的logistics Regress等等只会让Hadoop更加难堪。

之前一直听spark如何虐Hadoop,但是舍友说spark只是因为在内存上跑,必然玩爆Hadoop,所以当时潜意识认为spark是内存版的Hadoop,昨天无意中看到关于spark的RDD的论文,感觉spark很适合写ML,并且性能比Hadoop好也并不全是因为在内存上跑,他所解决的问题刚好也是我在写Hadoop时候不想遇到的问题。同时spark最近这段时间这么火爆,没有理由不尝试下。

总的来说安装spark是比较简单的,可能是因为之前已经装了Hadoop。

由于我已经装了Hadoop2.4了,所以下了spark-1.3.0-bin-hadoop2.4。安装spark还需要有jdk,python,scala。因为装Hadoop的时候已经装了jdk和python了,所以只介绍下安装scala和spark

1 安装scala

下载scala-2.10.5

将其放置你的某个目录下,我这里是/home/Scala

接着解压缩

tar -xvzf scala-2.10.5.tgz

接着就是添加路径名

vi /etc/profile

增加两行

export SCALA_HOME=/home/Scala/scala-2.10.5

export PATH=$PATH:$SCALA_HOME/bin

接着便是立即生效

source /etc/profile

验证方式和java很像

scala -version

如果正确安装了,就会出现

Scala code runner version 2.10.5 --Copyright 2002-2013等信息

接着就可以将scala拷贝到另外几个节点上,我这里是两个节点,并且记得修改对应节点的profile文件

安装spark

同理,下载spark-1.3.0-bin-hadoop2.4。这里的Hadoop是根据你机子上的Hadoop版本来的,目前最新的spark版本是1.4,相比1.3最明显的就是增加了对R语言的支持,由于目前还用不到R,加之实验室机房不让用外网,安装R语言又比较麻烦,所以下载1.3.0了。

将spark-1.3.0-bin-hadoop2.4放置到你的某个目录下。例如我这里是/home/Spark/

解压缩

tar -xvzf spark-1.3.0-bin-hadoop2.4.tgz

接着是增加路径

vi /etc/profile

export SPARK_HOME=/home/Spark/spark-1.3.0-bin-hadoop2.4

export PATH=$PATH:$SPARK_HOME/bin

然后令其生效

source /etc/profile

接着是修改配置文件

1 添加从节点IP

vi slaves

我这里添加了两个节点

10.107.8.110

10.107.8.120

2

修改spark的环境,主要是jdk,scala以及Hadoop的路径,master的IP

添加:

export JAVA_HOME=(你自己的jdk路径,如果不清楚可以在shell中打$JAVA_HOME)

export SCALA_HOME=(你的scala路径)

export SPARK_MASTER_IP=(master的hostname)

export SPARK_WORKER_MEMORY=4g(这个具体看你节点的配置了)

export HADOOP_CONF_DIR=(如果不清楚可以在shell打$HADOOP_CONF_DIR)

接着就是将spark复制到另外的节点上就好了。

如果一切顺利,spark就算是安装完了。

简要验证

1 在浏览器上输入masterIP:8080例如我这里是http://10.107.8.110:8080/

会出现各个worker的节点状况

输入http://10.107.8.110:4040则会出现spark的jobs

2 进入到spark下的bin目录运行spark-shell

运行论文上的例子

我们先把一段文件放到HDFS中

hadoop fs -copyFromLocal /home/sunrye/words.txt hdfs://10.107.8.110:9000/spark_test/

接着运行

var lines=sv.textFile(“hdfs://10.107.8.110:9000/sprak_test/words.txt”)

此时相当于生成了一个RDD,接着就可以在RDD上实现各自action了,例如我们统计他的字数就可以

lines.count()

当然可也可查询某个关键字的字数,例如

lines.filter(_.contains(“the”)).count()

Spark1.3.0安装的更多相关文章

  1. spark1.2.0安装

    standalone 安装SCALA 下载.解压.加入环境变量 安装spark1.2.0 下载.解压.加入环境变量 tar zxvf spark--bin-.tgz export SPARK_HOME ...

  2. 最新版spark1.1.0集群安装配置

    和分布式文件系统和NoSQL数据库相比而言,spark集群的安装配置还算是比较简单的: 很多教程提到要安装java和scala,但我发现spark最新版本是包含scala的,JRE采用linux内嵌的 ...

  3. spark 1.6.0 安装与配置(spark1.6.0、Ubuntu14.04、hadoop2.6.0、scala2.10.6、jdk1.7)

    前几天刚着实研究spark,spark安装与配置是入门的关键,本人也是根据网上各位大神的教程,尝试配置,发现版本对应最为关键.现将自己的安装与配置过程介绍如下,如有兴趣的同学可以尝试安装.所谓工欲善其 ...

  4. spark1.1.0下使用SparkSQL

    spark1.1.0的安装参见http://blog.csdn.net/bluejoe2000/article/details/41391407 安装了spark之后,可以在 shell中执行Spar ...

  5. Apache Spark1.1.0部署与开发环境搭建

    Spark是Apache公司推出的一种基于Hadoop Distributed File System(HDFS)的并行计算架构.与MapReduce不同,Spark并不局限于编写map和reduce ...

  6. Spark1.5.0 + Hadoop2.7.1整合

    Hadoop2.7.1已经配置完毕. Hosts分配如下: master 172.16.15.140 slave1 172.15.15.141 slave2 172.16.15.142 一.安装Sca ...

  7. 搭建Hadoop2.6.0+Spark1.1.0集群环境

    前几篇文章主要介绍了单机模式的hadoop和spark的安装和配置,方便开发和调试.本文主要介绍,真正集群环境下hadoop和spark的安装和使用. 1. 环境准备 集群有三台机器: master: ...

  8. 在Win7虚拟机下搭建Hadoop2.6.0+Spark1.4.0单机环境

    Hadoop的安装和配置可以参考我之前的文章:在Win7虚拟机下搭建Hadoop2.6.0伪分布式环境. 本篇介绍如何在Hadoop2.6.0基础上搭建spark1.4.0单机环境. 1. 软件准备 ...

  9. 记:MySQL 5.7.3.0 安装 全程截图

    前言: 下一个班快讲MySQL数据库了,正好把服务器里面的MySQL卸了重装了一下. 截个图,作为笔记.也正好留给需要的朋友们. 目录: 下载软件 运行安装程序 安装程序欢迎界面 许可协议 查找更新 ...

随机推荐

  1. Greedy Change

    Greedy Change time limit per test 2 seconds memory limit per test 256 megabytes input standard input ...

  2. iOS 常用代码块

    1.判断邮箱格式是否正确的代码: // 利用正则表达式验证 -( BOOL )isValidateEmail:( NSString  *)email {   NSString  *emailRegex ...

  3. Javascrpit学习之路一——基础知识

    1.DOM 文档对象模型 定义:一个与系统平台和编程语言无关的接口,程序和脚本可以通过这个接口动态的访问和修改文档的内容.结构和样式. 2.Javascript 区分大小写.弱类型语言 变量小写:va ...

  4. SonarQube代码质量管理平台比较好的搭建和使用资料

    http://www.voidcn.com/blog/lidujun1028/article/p-3831235.html   Sonar (SonarQube)是一个开源平台,用于管理源代码的质量. ...

  5. android 垂直 SeekBar 源代码(VerticalSeekBar)[转]

    主要是继承 AbsSeekBar 然后修改下面这些方法 onProgressRefresh() //当进度条数据更新的时候,例如我们拖动滑动条的时候,这个方法被调用 setThumbPos() //这 ...

  6. java 设计模式之单利模式以及代理模式(静态)

    1:单利模式: public class Singleton { private static Singleton uniqueInstance = null; private Singleton() ...

  7. aspx基础开始

    <%@ Page Language="C#" Debug="true" trace="false" validateRequest=& ...

  8. HDU 3726 Graph and Queries 平衡树+前向星+并查集+离线操作+逆向思维 数据结构大综合题

    Graph and Queries Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Other ...

  9. C#调用C++动态库时类型转换

    因为本人主要从事c#开发,但是在工作中经常需要用到c++编写的DLL,因此需要知道c++中的类型与c#中的类型是如何转换的.搜集整理如下. //C++中的DLL函数原型为   //extern &qu ...

  10. CF 299 div2 C 博弈

    http://codeforces.com/contest/299/problem/C 题目大意: 给两个0,1串保证长度都是2*n(偶数),问,Yaroslav, Andrey按照顺序取,首先是ya ...