R语言服务器程序Rserve和客户端RSclient安装使用简介Word下载.doc
《R语言服务器程序Rserve和客户端RSclient安装使用简介Word下载.doc》由会员分享,可在线阅读,更多相关《R语言服务器程序Rserve和客户端RSclient安装使用简介Word下载.doc(8页珍藏版)》请在冰豆网上搜索。

Rserve是个R语言和其他语言的(TCP/IP)接口。
通过它可以使用其他语言来调用R作为计算引擎,比如,我想使用C#或者Java完成某项计算,而计算核心工作是通过R完成的,Rserve就可以帮助我们实现其他语言和R语言的通信,完成这项计算功能。
R语言本身也有自己的客户端RSclient,这会让用过R的人感到很奇怪R语言本身就是单独的计算环境,为什么还要引入客户端和服务端呢?
这种架构在实际应用上有一定的好处。
首先我假设我们有若干台计算机,其中一台上面安装了很多的程序包,硬件配置较好,并能够实现相应的计算,我们称其为“A”。
假如有时其他机器也需要利用A的计算资源(软硬件)完成计算,比较容易的想到做法是把所有的程序包和代码复制到其他机器,在他们的本地完成计算。
但是这样做的弊端是:
必须保持和其他机器和A的软件计算资源同步,假如A的程序包或者是某个函数修改了,那么仍要复制软件计算资源;
更重要的是当A的硬件资源闲置时,我们却采用其他机器的较差硬件计算这样会浪费闲置的优质硬件资源,并增加处理时间。
所以,布局R语言Rserve服务端和RSclient客户端的这种架构可以帮助我们实现将计算资源集中到服务端集中计算,客户端仅仅作为发送代码和前端显示的作用。
用流程图描述如下:
2Rserve的安装和使用
2.1Rserve的安装
这里使用的环境为:
Windows764bit和R-3.0.1。
Step1:
首先,在系统环境变量Path中添加R语言的2个路径:
如,d:
\R\R-3.0.1\include;
d:
\R\R-3.0.1\bin
Step2:
开始按钮的搜索程序和文件中键入cmd,启动Windows的cmd。
输入:
“R”后,R语言若可以启动则说明环境变量设置正确,如下图所示。
否则检查Step1中的环境变量设置是否正确。
Step3:
安装并加载Rserve,键入
>
install.packages("
Rserve"
)
library(Rserve)
Step4:
启动R服务端。
Rserve服务端启动有2种主要方式
1、在R环境中启动Rserve:
在R环境中,若加载了Rserve程序包,则直接使用Rserve()函数即可。
Rserve()
StartingRserve...
"
D:
\R\R-30~1.1\library\Rserve\libs\x64\Rserve.exe"
2、在命令行中,首先我们要R安装目录下~/library/Rserve/libs中,将Rserve.exe和Rserve.dll复制到R安装目录的~/bin对应的文件夹中。
在本文64位系统下bin文件夹下面分别存在i386和x64二套程序,对应了~/library/Rserve/libs中2个文件夹。
随后,在命令行中输入
RCMDRserve--help
结果如图,说明可以启动Rserve了
2.2Rserve的配置
在Rserve初始启动时,我们还不能够设置远程客户端,这时需要配置一下Rserve。
先查看Rserve服务端默认配置信息。
启动cmd,输入:
RCMDRserve–RS-settings
上图中可见,其配置文件在命令行当前路径下,名为Rserve.cfg。
远程访问,认证,命令控制均为开启。
现需要修改默认配置。
新建文件Rserve.cfg,输入如下:
workdir/tmp/Rserv
remoteenable
fileioenable
interactiveyes
port6311
maxinbuf262144
encodingutf8
controlenable
sourcestart.R
plaintextenable
其中,上述信息还包含了一个start.R脚本。
我们新建一个start.R脚本里面输入cat("
ThisismyRserve!
!
"
print(paste("
Serverstartat"
Sys.time()))
将脚本文件和配置复制到命令行目录下,本文为c:
/user/lsl。
脚本文件用于提示我们启动服务端成功!
重新查看默认配置信息,RCMDRserve–RS-settings
结果如上图所示,说明我们已经开启了远程连接,但是并没设置认证,此时远程客户端可以无认证访问服务端。
2.3Rserve的启动
完成上述安装配置后,在命令中输入RCMDRserve,即可启动Rserve服务端。
可见,我们成功启动了Rserve
这个时候,我们可以在Windows下查看进程,里面会包含有一个Rserve进程
3RSclient的安装和使用
3.1本地客户端登录使用
首先,再启动Rserve服务端后,启动R,下载RSclient程序包。
RSclient"
library(RSclient)
RSclient基本的使用读者可查阅RSclient相关的帮助文档。
conn2<
-RS.connect()#建立一个本地连接
RS.eval(conn2,rnorm(100))#运行一个测试
3.1远程客户端登录使用
由于在第2节中我们已经配置了Rserve可以远程登录。
我们在局域网中找到另外一台pc,服务端IP:
192.168.1.186,端口:
6311。
安装对应的R语言和RSclient程序包后,执行下述代码:
conn2<
-RS.connect('
192.168.1.186'
)#建立一个本地连接
RS.eval(conn2,rnorm(100))#运行一个测试
我们在服务端可以看到运行的相应代码。
3总结和展望
总结上述内容,我们可以实现在多个主机之间的服务端和客户端的布局架构,若服务端为一个计算用服务器或者计算集群,则可以大大提高计算服务端的软硬件使用效率,客户端的计算机可以使用相对较低的配置,实现了分布布局,集中计算的功能,可以用于企业级的计算服务。