Spark in action Spark 以及SparkR的安装配置说明

Spark以及SparkR的安装(standalone模式)

From :ssdutsu @ Inspur Company

 [email protected]

操作系统 CentOS 7

Java 版本 JDK 1.7

Spark安装过程请见PDF文件 Spark 1.0安装配置文件

网址:http://www.it165.net/admin/html/201407/3379.html

(别忘了配置免密码登陆和关闭防火墙)

下面重点描述如何在linux环境下安装RRstudio 以及SparkR

1 Linux下安装R(Slave  机器上也要安装R)

1.1、下载

首先去官网下载R的软件包,官网网址为

http://cran.rstudio.com/

1.2、解压:

tar -zxvf R-3.1.2.tar.gz (目前最新版的R为3.1.2,建议用最新版,否则某些可用的包不支持就麻烦大了)

cd R-3.1.2

1.3、安装

yum install readline-devel

yum install libXt-devel

(上面两个安装我也不知道干啥的,但是如果不先运行这两行,有可能后续安装报错,不安装你会后悔的)

然后运行./configure  --enable-R-shlib --prefix=/home/ssdutsu/R-3.1.2(这里注意要改成自己的R所在的路径)

(如果使用rJava需要加上 --enable-R-shlib

./configure  --enable-R-shlib --prefix=/usr/R-3.1.2(!!由于SparkR是需要rJava的,所以建议后面这些乱七八糟的参数最好加上))

然后运行

make

make install

1.4、配置环境变量

vi .bash_profile

PATH=/usr/R-3.1.2/bin(同样注意这里的路径)

(这里别source)

1.5、测试:创建脚本(t.R)

cd /opt/script/R

vim t.R

#!/path/to/Rscript    #第一行

x<-c(1,2,3)    #R语言代码

y<-c(102,299,301)

model<-lm(y~x)

summary(model)

1.6、测试:执行脚本

R CMD BATCH --args /opt/script/R/t.R

more /opt/script/R/t.Rout    #查看执行的结果

或者第二种方式

Rscript /opt/script/R/test.R    #结果直接输出到终端

2 Linux安装Rstudio

Rstudio有两个版本,一个是desktop版本,主要用于个人单机开发,还有一个server版,可以从浏览器中访问Rstudio,适用于多人协作开发。(Ps:Rstudio是开发R最强大的IDE,没有之一, sever版本只能在linux上安装)

安装Rstudio的过程很简单,去官网下载rpm包,然后rpm他就行了。(别问我rpm是什么,我也不知道, (linux高手表示不屑于问))

官网地址:

Server版:http://www.rstudio.com/products/RStudio/#Server

Desktop 版:http://www.rstudio.com/products/RStudio/#Desk

(左边是免费的,右边是收费版本,土豪请无视免费,下载个收费的让我们看看也好)

安装完成之后,Rstudio会自动匹配系统中的R环境,并且加载相应位置的R包,在R shell中运行 .libPaths()可查看相应的R包都装在什么地方。

Rstudio-server 的默认安装路径是  /usr/lib/rstudio-server

如果要启动rstudio server服务器,运行相应bin目录下的 ./rstudio-server start 就可以了, 然后打开浏览器,输入本机IP地址:8787 (192.168.67.130:8787) 就可以访问了,默认端口是8787(真霸气)。

PS:,Rstudio使用linux系统本身的用户名密码进行登陆,同时不允许root用户登陆。(这个就导致了一个很扯淡的问题:你无法在rstudio中进行R包的部分管理操作,比如删除SparkR包,删除rJava包等)

3 Linux 安装SparkR

(这时候系统的R以及Rstudio已经安装完毕,并且我假设OpenJDK的版本大于7.0)

3.1 首先要配置R的java环境

在linux终端中输入命令:  R CMD javareconf

然后安装rJava

在linux终端中 输入 R 即可进入R shell

运行install.packages(“rJava”)

(注意)这行代码运行完成之后,会提示你选择一个镜像地址下载rJava文件,别选中科大(Hefei)的镜像,貌似没有rJava这个东西,选择Beijing的。

下面是两种方法安装SparkR

3.2 安装SparkR

3.2.1  通过R shell 安装(建议不要这么干)

虽然这个方法可以安装,但是你的spark的版本必须是1.1.0,否则还是算了,(博主的spark1.2.0 然后用了这个方法,一把辛酸泪啊)

安装devtools包

Devtools里面有个install-github 函数,可以方便地在Rshell中安装SparkR

在Rshell 中加载 devtools

library(devtools)

install-github("","") 资料很多,实在是懒得上传图片。

这行install-github 的命令,运行起来可能会比较慢 (取决于网速和人品,不幸的是, 楼主RP和网速都没有给力,多试几次,总会好的)

安装完SparkR之后,可以用wordcount来检验安装正确与否。

步骤1:在R shell中加载SparkR

步骤2:初始化SparkContext及执行wordcount

sc <- sparkR.init(master="local", "RwordCount")

lines <- textFile(sc, "README.md")

words <- flatMap(lines,

function(line) {

strsplit(line, " ")[[1]]

})

wordCount <- lapply(words, function(word) { list(word, 1L) })

counts <- reduceByKey(wordCount, "+", 2L)

  • output <- collect(counts)

for (wordcount in output) {

cat(wordcount[[1]], ": ", wordcount[[2]], "\n")

}

如果想将SparkR运行于集群环境中,只需要将master=local,换成spark集群的监听地址即可(sparkR.init(“spark://192.168.

1.137:7077”))

方法1的好处是,sparkR自动安装到其他的R包所在的目录下,不用在.libPaths()重新增加新的路径,缺点是靠网速和人品。

3.2.2 通过源代码进行编译

从网页下载代码https://github.com/amplab-extras/SparkR-pkg  sparkR的代码编译

下载zip或者tgz文件之后,解压缩,然后cd 进入解压缩之后的文件包,里面有这些东西在 (有个examples 可以用一下)

然后 [[email protected] sparkR]# SPARK_VERSION=1.2.0 HADOOP_VERSION=2.4.0 ./install-dev.sh ./install-dev.sh (前面红色取决于你的SparkVersionHadoop Version,博主就是因为没有指定version,被搞了好几天

另外还需要在spark的conf目录下面修改 spark-defaults-conf这个文件 加一行 spark.master    spark://Master的ip: Master的端口

就可以直接搞定了,运行完成之后,会在同一个目录下面生成一个lib文件夹,lib文件夹里面就是SparkR文件夹,这个文件夹就是R语言能认识的“SparkR包”。

然后,在终端中运行 ./sparkR这个可执行文件,就会自动进入R 的shell,同时自动加载SparkR包。

运行例子程序(仅限方法2):

local表示是在本地运行,[2]表示启动了两个线程。

如果想将SparkR运行于集群环境中,只需要将master=local,换成spark集群的监听地址即可(sparkR.init(“spark://192.168.

1.137:7077”))

注意了(注意真多),worker也就是 slave上面也必须安装SparkR才行。

关于方法2的优点是不依靠人品,缺点是如果通过 R 来启动 Rshell的话,不配置一下.libPaths() R无法找到sparkR在哪,配置过程如下:

代码都在 R shell中运行

lib_path<- .libPaths()

lib_path<-c(lib_path,”你的sparkR的路径一直到3.2下方图的lib 目录”)

.libPaths(Lib_path)

rm(lib_path)

这样就可以了,如果rstudio也找不到,在rstudio的界面命令行里,运行一次同样的代码。

(上面这行代码貌似是临时性的,重启机器后libpath又没了,永久性解决方法: 打开/XX/.bashrc 文件(XX是用户名,千万别搞错了bashrc的位置啊,血的教训),然后 添加一行:export R_LIBS=/home/ssdutsu/R/SparkR-pkg-master/lib)  别忘了source,这样得到的默认路径改成SparkR的路径了,不过Rstudio安装包时可以自由选择,已经无伤大雅了。

最后一点:(困扰了我好久)

通过Rshell运行sparkR的示例程序,是没有问题的。但是我使用Rstudio-server版本运行上面的sparkR示例程序时,总是报 can not find Rscript 的错误,上网搜了一下,也有很多人在问,但是没有解决方法。我换成了Rstudio的desktop版,就正常运行了。 估计是Rstudio server和Rscript的链接问题导致的。

时间: 2024-10-06 12:04:41

Spark in action Spark 以及SparkR的安装配置说明的相关文章

Apache Spark技术实战之5 -- SparkR的安装及使用

欢迎转载,转载请注明出处,徽沪一郎. 概要 根据论坛上的信息,在Sparkrelease计划中,在Spark 1.3中有将SparkR纳入到发行版的可能.本文就提前展示一下如何安装及使用SparkR. SparkR的出现解决了R语言中无法级联扩展的难题,同时也极大的丰富了Spark在机器学习方面能够使用的Lib库.SparkR和Spark MLLIB将共同构建出Spark在机器学习方面的优势地位. 使用SparkR能让用户同时使用Spark RDD提供的丰富Api,也可以调用R语言中丰富的Lib

Spark教程-构建Spark集群-安装Ubuntu系统(2)

3.点击“Finish”完成虚拟系统的创建,如下图所示: 点击我们创建的Ubuntu,如下所示 点击“CD/DVD(IDE)”进入如下界面 选择我们的Ubuntu的ISO的具体存放路径,选择好后如下图所示: 点击“OK”完成设置: 点击“Memory”,进入如下界面: 此时把我们虚拟的内存设置为2G,如下所示: 点击“OK”完成设置. Spark教程-构建Spark集群-安装Ubuntu系统(2)

Spark教程-构建Spark集群-安装Ubuntu系统(1)

Unbuntu系统是我们开发Hadoop时最常用的操作系统,下面带领大家一步步完成Vmware虚拟机下Unbuntu系统的安装 创建Vmware中的虚拟系统: 我们选择的是“Typical”的方式,点击“Next”进入下一步: 选择稍后安装操作系统,点击“Next”进入下一步: 选择安装Linux系统的Ubuntu版本,点击“Next”进入下一步: 家林这里选择了自定义系统的存放路径为“E:\VMware\Virtual Machines\Master” 如下图所示: 点击“Next”进入下一步

Spark学习之Spark安装

Spark安装 spark运行环境 spark是Scala写的,运行在jvm上,运行环境为java7+ 如果使用Python的API ,需要使用Python2.6+或者Python3.4+ Spark1.6.2  -  Scala 2.10    Spark 2.0.0  -  Scala  2.11 Spark下载 下载地址:http://spark.apache.org/downloads.html 搭建spark,不需要Hadoop,如有Hadoop集群,可下载对应版本解压 Spark目录

centos部署单机spark大数据环境(一)--【安装mysql】

最近在工作上,需要在centos上面装spark大数据环境,特此记录一下单机spark部署步骤: 一.Centos7安装mysql 1.官网下载mysql-5.5.61-linux-glibc2.12-x86_64.tar.gz安装包 (使用在线安装,受网络影响,推荐离线安装) 下载地址:https://dev.mysql.com/downloads/mysql/5.5.html#downloads 2.centos7卸载自带mariadb 因为centos7后,系统自带了mariadb,会和安

Spark RDD Action操作

reduce def reduce(f: (T, T) => T): T通过func函数聚集RDD中的所有元素,这个功能必须是可交换且可并联的 1 2 3 4 5 6 7 8 9 10 11 scala> val rdd1 = sc.makeRDD(1 to 10,2) rdd1: org.apache.spark.rdd.RDD[Int] = ParallelCollectionRDD[85] at makeRDD at <console>:24 scala> rdd1.r

spark 特性、简介、下载和安装

官网:http://spark.apache.org/ spark是一个更快的快速而稳定的用于大规模数据处理的引擎 特点: 1.速度上,在内存中处理比Hadoop快100倍以上,在磁盘上处理hadoop块10倍以上,因为saprk有更先进的DAG执行引擎,能提供基于内存的计算模式. 2.更好用.能够运用Java/Scala/Python和R语言快速的编写应用程序,提供超过80个高品质的操作接口. 3.普适性.能够支持SQL.流数据.机器学习和复杂的分析处理. 4.能在多种基础环境上运行.刻在Ha

一、spark入门之spark shell:wordcount

1.安装完spark,进入spark中bin目录: bin/spark-shell scala> val textFile = sc.textFile("/Users/admin/spark/spark-1.6.1-bin-hadoop2.6/README.md") scala> textFile.flatMap(_.split(" ")).filter(!_.isEmpty).map((_,1)).reduceByKey(_+_).collect().

[pySpark][笔记]spark tutorial from spark official site在ipython notebook 下学习pySpark

+ Spark Tutorial: Learning Apache Spark This tutorial will teach you how to use Apache Spark, a framework for large-scale data processing, within a notebook. Many traditional frameworks were designed to be run on a single computer. However, many data