我想在Windows上建立一个只依赖R的分布式环境,所以我选择学习Rserve和RSclient。但是,我的RSclient无法通过RS.server.source()命令控制Rserve。如何通过命令RSserverSource控制Rserve?
我试过了这个的多种变化,但没有一个似乎工作。
阅读以下
http://cran.r-project.org/web/packages/RSclient/RSclient.pdf
http://cran.r-project.org/web/packages/Rserve/Rserve.pdf
文件后,我检查了我的DOS --RS-设置,它表明我的Rserve被使能控制。
>R CMD Rserve --RS-settings
Rserve v1.7-3
config file: Rserv.cfg
Working root: /tmp/Rserv
port: 6311
local socket: [none, TCP/IP used]
authorization required: no
plain text password: allowed
passwords file: [none]
allow I/O: yes
allow remote access: yes
control commands: yes
interactive: yes
max.input buffer size: 262144 kB
所以我用R CMD Rserve命令打开我的Rserve。它来源于我的“start.R”,所以我的设置工作。
CMD:
>R CMD Rserve
[1] "Server start at 2017-11-18 12:55:01"
Rserve: Ok, ready to answer queries.
我 “start.R”:
print(paste("Server start at",Sys.time()))
然后我连接Rserve成功,但RS.server.source()和RS.server.shutdown ()不起作用,它们都显示控制命令被禁用。
system('tasklist /FI "IMAGENAME eq Rserve.exe"')
library(RSclient)
c1<-RS.connect(host="172.30.8.40")
RS.server.source(c1,'E:/RS/test.r')
RS.server.shutdown(c1)
RS.close(c1)
我断开Rserve并试图年长命令RSconnect(),RSserverSource(),和RSshutdown()。
library(RSclient)
c2<-RSconnect(host="172.30.8.40")
RSserverSource(c2,'E:/RS/test.r')
RSshutdown(c2)
system('tasklist /FI "IMAGENAME eq Rserve.exe"')
这次RSshutdown的作品,它原来下来我的服务器,但来源仍命令返回错误。
2.我看着invoke rserve from rclient timeout stuck,我试图在RStudio打开Rserve。这是我的代码。
library(Rserve)
library(RSclient)
Rserve(port=6311,args="--RS-enable-control --RS-enable-remote")
rsc <- RSconnect(port = 6311)
system('tasklist /FI "IMAGENAME eq Rserve.exe"')
RSserverSource(rsc,"E:/RS/test.R")
RSshutdown(rsc)
system('tasklist /FI "IMAGENAME eq Rserve.exe"')
类似地,关断命令而作品源命令返回错误。
附:
我已经检查过“test.r”存在,我只想使用命令RS.server。源或RSserverSource,我测试关机命令只是因为他们也需要我的观点控制权。
在网络上搜索了很长时间之后,关于RSserverSource的问题很少(仅有的问题仍未解决)。请帮助或提供一些想法如何实现这一点。非常感谢!