【R】在CentOS7下编译安装R3.3.2和SparkR 二(R集群安装)

来源:互联网 发布:华泰证券网络培训学院 编辑:程序博客网 时间:2024/05/21 12:23

【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.rpmyum 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 

即表示成功。

Rstudio启动相关

如果不能直接masterIP:8787启动,那么应该对应以下两个文件的配置。
一个是关联R环境。
另一个是配置对应session。

vim /etc/rstudio/rserver.conf# Server Configuration Filersession-which-r=/usr/local/R-3.3.2/bin/Rwww-port=8787www-address=0.0.0.0  # 允许访问的IP地址,默认为0.0.0.0vim /etc/rstudio/rsession.conf # R Session Configuration Filesession-timeout-minutes=30  # 会话超时时间r-cran-repos=http://ftp.ctex.org/mirrors/CRAN/  # 设置CRAN资源库

然后就可以看到界面了。
另外,Rstudio不能用root用户登录也是比较坑。

0 0