R语言服务器程序Rserve和客户端RSclient安装使用简介.doc
- 文档编号:1213706
- 上传时间:2023-04-30
- 格式:DOC
- 页数:8
- 大小:565.50KB
R语言服务器程序Rserve和客户端RSclient安装使用简介.doc
《R语言服务器程序Rserve和客户端RSclient安装使用简介.doc》由会员分享,可在线阅读,更多相关《R语言服务器程序Rserve和客户端RSclient安装使用简介.doc(8页珍藏版)》请在冰点文库上搜索。
R语言服务器程序Rserve和客户端RSclient安装使用简介
李思亮55531469@
1R语言和Rserve
R是用于统计分析、绘图的语言和操作环境。
R是属于GNU系统的一个自由、免费、源代码开放的软件,它是一个用于统计计算和统计制图的优秀工具。
长期以来,R语言只专注统计分析领域的应用。
随着各个行业的发展和大数据分析需求的增加,R语言的便捷性和优势日益明显。
已经有越来越多的领域在使用R语言,除数理统计外,其在金融,能源,电商,互联网的使用越来越频繁。
“云计算”,“数据挖掘”,“数据分析”,“大数据”相关的词汇更是众多网站频繁出现的词汇。
在这些耀眼概念并不是噱头和炒作,其背后是计算机语言,运算存储技术和数理统计知识作为支撑。
想想看,阿里巴巴在双11的350亿(2013年)销售额,后面的庞大数据库系统是如何存储和并稳定运行的?
言归正传,现在介绍一下Rserve。
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()函数即可。
>library(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程序包。
>install.packages("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程序包后,执行下述代码:
>library(RSclient)
>conn2<-RS.connect('192.168.1.186')#建立一个本地连接
>RS.eval(conn2,rnorm(100))#运行一个测试
我们在服务端可以看到运行的相应代码。
3总结和展望
总结上述内容,我们可以实现在多个主机之间的服务端和客户端的布局架构,若服务端为一个计算用服务器或者计算集群,则可以大大提高计算服务端的软硬件使用效率,客户端的计算机可以使用相对较低的配置,实现了分布布局,集中计算的功能,可以用于企业级的计算服务。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 服务器 程序 Rserve 客户端 RSclient 安装 使用 简介