我想在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的問題很少(僅有的問題仍未解決)。請幫助或提供一些想法如何實現這一點。非常感謝!