【SparkR】在CentOS7下编译安装R3.3.2和SparkR 二(集群安装)
A:先至少安装好本地一台机器。可以参考单机安装的博文【SparkR】在centOS7下编译安装R3.3.2和SparkR
B:准备三台slave机器
C:配置文件copyOK
D:安装RStudio
E: 安装SparkR(spark小于1.4版本)
F: 配置R集群。
1.按照之前的博文,先进行各种环境安装配置。
三台slave机器上都安装完毕,输入R 回车能够进入R控制台即可。
2.四台机器上统一安装rJava。
即在进入R控制台后,输入
> install.packages("rJava")
选择区域选择14,中国北京。
3.安装RStudio比较简单,直接RPM即可。
先到官网下载rpm包
然后再通过install安装
wget https://download2.rstudio.org/rstudio-server-rhel-1.0.136-x86_64.rpm
yum install --nogpgcheck rstudio-server-rhel-1.0.136-x86_64.rpm
4.如果spark小于1.4.则需要安装SparkR在github上的项目及配置。
https://github.com/amplab-extras/SparkR-pkg
如果spark版本在新出的2.0以上,则spark已经官方支持SparkR,不用单独配置。
具体配置网络上已经很多了,可以参考类似此文的过程。
5.集群配置R。
首先,都要安装snow包。
install.packages("snow")
选择12,中国
然后在控制台输入
library(parallel) #调用你的并行包
workerList <- list(
list(host = masterIP, port = 10187, outfile = "/usr/local/R/log/log1.log", rshcmd = "ssh -p 22"),
list(host = slave1IP, port = 10187, outfile = "/usr/local/R/log/log2.log", rshcmd = "ssh -p 22"),
list(host = slave2IP, port = 10187, outfile = "/usr/local/R/log/log2.log", rshcmd = "ssh -p 22"),
list(host = slave3IP, port = 10187, outfile = "/usr/local/R/log/log3.log", rshcmd = "ssh -p 22")
);
cl <- makeCluster(workerList, type="SOCK", master=masterIP)
#配置集群,指定master
其中host换成你的IP为”XXX.XXX.XXX.XXX”
R语言是否并行工作,查看前面我们设置的outfile 。
看到每个集群的节点里面出现此信息
starting worker for masterIP:10187
即表示成功。
如果不能直接masterIP:8787启动,那么应该对应以下两个文件的配置。
一个是关联R环境。
另一个是配置对应session。
vim /etc/rstudio/rserver.conf
# Server Configuration File
rsession-which-r=/usr/local/R-3.3.2/bin/R
www-port=8787
www-address=0.0.0.0 # 允许访问的IP地址,默认为0.0.0.0
vim /etc/rstudio/rsession.conf
# R Session Configuration File
session-timeout-minutes=30 # 会话超时时间
r-cran-repos=http://ftp.ctex.org/mirrors/CRAN/ # 设置CRAN资源库
然后就可以看到界面了。
另外,Rstudio不能用root用户登录也是比较坑。