SparkR的具体安装和将会遇到的问题的解决

来源:互联网 发布:ug软件代理 编辑:程序博客网 时间:2024/05/16 16:59

第一步,安装R

参考http://www.myexception.cn/linux-unix/680876.html

由于安装R依赖比较多,故利用iso文件创建本地yum源,见后【一】利用iso镜像文件创建本地yum

1.1 安装依赖

yum install gcc

yum install gcc-c++

yum install gcc-gfortran

yum install pcre-devel

yum install tcl-devel

yum install zlib-devel

yum install bzip2-devel

yum install libX11-devel

yum install readline-devel    #否则报with-readline=yes (default) and headers/libs are not available错误

yum install libXt-devel          #否则报configure: error: with-x=yes (default) and X11 headers/libs are not available错误

yum install tk-devel

yum install tetex-latex

第二步,安装rjava

1) 下载R安装需要的软件包,注意这里不要使用yum安装,否则造成java版本不一致的情况。

需要下载的包:

R-3.2.2.tar.gz
rJava_0.9-7.tar.gz
rhdfs_1.0.8.tar.gz
下载链接: http://pan.baidu.com/s/1nt5qkJn


2)  安装R-3.2.3

解压安装包

tar -zxvf R-3.1.1.tar.gz


编译安装

 

./configure

make && make install


3) 安装rJava与rhdfs
R CMD INSTALL "rJava_0.9-7.tar.gz"
R CMD INSTALL "rhdfs_1.0.8.tar.gz"

 

第三步,安装sbt

 1、下载sbt通用平台压缩包:sbt-0.13.5.tgz

http://www.scala-sbt.org/download.html

 2、建立目录,解压文件到所建立目录

$ sudo mkdir /opt/scala/sbt

$ sudo tar zxvf sbt-0.13.5.tgz -C /opt/scala/

 3、建立启动sbt的脚本文件

/*选定一个位置,建立启动sbt的脚本文本文件,如/opt/scala/sbt/ 目录下面新建文件名为sbt的文本文件*/
$ cd /opt/scala/sbt/
$ vim sbt
/*sbt文本文件中添加 
BT_OPTS="-Xms512M -Xmx1536M -Xss1M -XX:+CMSClassUnloadingEnabled -XX:MaxPermSize=256M"
java $SBT_OPTS -jar bin/sbt-launch.jar "$@" 
然后按esc键 输入 :wq 保存退出,注意红色字体中的路径可以是绝对路径也可以是相对路径,只要能够正确的定位到解压的sbt文件包中的sbt-launch.jar文件即可*/

修改sbt文件权限×/
$ chmod u+x sbt 

 4、配置PATH环境变量,保证在控制台中可以使用sbt命令

$ vim ~/.bashrc
/*在文件尾部添加如下代码后,保存退出*/
export PATH=/opt/scala/sbt/:$PATH

/*使配置文件立刻生效*/
$ source ~/.bashrc

 

 5、测试sbt是否安装成功

/*第一次执行时,会下载一些文件包,然后才能正常使用,要确保联网了,安装成功后显示如下*/
$ sbt sbt-version
[info] Set current project to sbt (in build file:/opt/scala/sbt/)
[info] 0.13.5

由于无法连接外网,所以没有安装成功。

第四步,安装 SparkR

下载 SparkR http://amplab-extras.github.io/SparkR-pkg/

mkdir SparkRInstall

cp amplab-extras-SparkR-pkg-e1f95b6.tar.gz SparkRInstall

cd SparkRInstall

tar -zxvf amplab-extras-SparkR-pkg-e1f95b6.tar.gz

cd amplab-extras-SparkR-pkg-e1f95b6

sh install-dev.sh

 

[root@cnsz031907 amplab-extras-SparkR-pkg-e1f95b6]# ./install-dev.sh

* installing *source* package SparkR ...

** libs

** arch -

./sbt/sbt assembly

Attempting to fetch sbt

curl: (6) Couldn't resolve host 'typesafe.artifactoryonline.com'

curl: (6) Couldn't resolve host 'repo.typesafe.com'

Launching sbt from sbt/sbt-launch-0.12.4.jar

Error: Invalid or corrupt jarfile sbt/sbt-launch-0.12.4.jar

make: *** [target/scala-2.10/sparkr-assembly-0.1.jar] Error 1

ERROR: compilation failed for package SparkR

* removing /app/SparkRInstall/amplab-extras-SparkR-pkg-e1f95b6/lib/SparkR

由于连不上网,不能直接编译sparkR,故在能联网的机器上对SparkR进行编译,之后再上传使用sbt编译后的包。

在联网编译的过程中,可能会报的错误

这个错误的解决

vim  SparkR-pkg-master/pkg/src/sbt/sbt

1、有两个URL要修改一下 修改如下

URL1=http://repo.typesafe.com/typesafe/ivy-releases/org.scala-sbt/sbt-launch/${SBT_VERSION}/sbt-launch.jar

URL2=https://dl.bintray.com/typesafe/ivy-releases/org.scala-sbt/sbt-launch/${SBT_VERSION}/sbt-launch.jar

2、修改命令

   curl  --progress-bar  ${URL1} > ${JAR} || curl --progress-bar ${URL2} > ${JAR}

改为
    curl  --silent -L ${URL1} > ${JAR} || curl --silent -L ${URL2} > ${JAR}

完了之后再次编译

上传编译后的包之后,使用以下命令进行安装:

sh install-dev.sh

修改R权限,使所有人都可读

chmod 755 -R /usr/local/lib64/R /usr/lib64/R /usr/local/bin/R

执行示例:

[hadoop@cnsz031907 SparkR-pkg]$ ./sparkR examples/pi.R local

WARNING: ignoring environment value of R_HOME

Loading required package: methods

Loading required package: rJava

[SparkR] Initializing with classpath /app/SparkRInstall/SparkR-pkg/lib/SparkR/sparkr-assembly-0.1.jar

 

14/09/10 17:08:44 INFO Slf4jLogger: Slf4jLogger started

100000

100000

Pi is roughly 3.13832

Num elements in RDD  200000

修改PATHCLASSPATH,方便之后使用:

chmod 755 -R /app/SparkRInstall/

chown -R hadoop:hadoop /app/SparkRInstall/

ln -s /app/SparkRInstall/SparkR-pkg /app/sparkR

 

Vi/etc/profile

export SPARKR_HOME=/app/sparkR

export PATH=$PATH:$SPARKR_HOME/

source /etc/profile

 

 

 

0 0
原创粉丝点击