第一步,安装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
[root@cnsz031907 amplab-extras-SparkR-pkg-e1f95b6]# ./
* 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 ''
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:///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
修改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
修改PATH和CLASSPATH,方便之后使用:
chmod 755 -R /app/SparkRInstall/
chown -R hadoop:hadoop /app/SparkRInstall/
ln -s /app/SparkRInstall/SparkR-pkg /app/sparkR
Vim /etc/profile
export SPARKR_HOME=/app/sparkR
export PATH=$PATH:$SPARKR_HOME/
source /etc/profile