博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Spark1.3.0安装
阅读量:5277 次
发布时间:2019-06-14

本文共 2292 字,大约阅读时间需要 7 分钟。

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

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

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

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

安装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

接着是修改配置文件

添加从节点IP

vi slaves

我这里添加了两个节点

10.107.8.110

10.107.8.120

2

修改spark的环境,主要是jdkscala以及Hadoop的路径,masterIP

添加:

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

export SCALA_HOME=(你的scala路径)

export SPARK_MASTER_IP=(masterhostname)

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

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

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

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

简要验证

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

会出现各个worker的节点状况

 

输入http://10.107.8.110:4040则会出现sparkjobs

 

进入到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()

 

转载于:https://www.cnblogs.com/sunrye/p/4586283.html

你可能感兴趣的文章
八叉树
查看>>
poj 1129 搜索
查看>>
Git 远程仓库
查看>>
HttpClient的巨坑
查看>>
关于静态文本框透明度的问题
查看>>
海量数据、高并发的优化方案
查看>>
javascript的发展及个人笔记
查看>>
全选,反全选,反选,获取选中的值,根据子选择控制全选按钮
查看>>
梦断代码读后感01
查看>>
[CF#250 Div.2 D]The Child and Zoo(并查集)
查看>>
博客园博客插入公式
查看>>
spring ioc原理(看完后大家可以自己写一个spring)
查看>>
hdu 1028 Ignatius and the Princess III(母函数入门+模板)
查看>>
Ubuntu下配置安装telnet server
查看>>
Codeforces 235 E Number Challenge
查看>>
ubuntu 常见命令整理
查看>>
关于vue的npm run dev和npm run build
查看>>
Hive架构
查看>>
EJBCA安装教程+postgresql+wildfly10
查看>>
(五十四)涂鸦的实现和截图的保存
查看>>