感谢支持
我们一直在努力

RStudio Linux Server 版本 安装配置 说明

这篇看一下R on linux Server 的这个版本,R可以单独安装到一台机器上使用,而安装Linux Server 可以通过Web进行访问RStudio,这样一个Server 可以供多个用户访问。  


一.安装 RStudio Server

RStudio下载地址:http://rstudio.org/download/


安装RStudio 工具之前需要先安装好R,关与linux 下R的安装,参考:


R 语言Linux 环境 安装 说明 http://www.linuxidc.com/Linux/2012-03/55940.htm


安装 RStudioServer 版本:


[root@rac1 R_Language]# rpm -Uvhrstudio-server-0.95.262-x86_64.rpm


Preparing…                ###########################################[100%]


  1:rstudio-server        ########################################### [100%]


rsession: no process killed


Starting rstudio-server: [  OK  ]


You have new mail in /var/spool/mail/root 


二. 管理配置 RStudio Server 
2.1 web 访问地址

安装并启动RStudioServer之后就可以通过web进行访问了,默认情况下RStudio Server 的端口是8787,所以,我们可以使用如下地址进行访问:


http://<server-ip>:8787


 




这里需要我们输入用户名和密码。关于用户名有2点注意事项:


(1)    不允许使用system 用户登陆,即用户ids小于100的用户.


示例:


[root@rac1 R_Language]# id


uid=0(root) gid=0(root)groups=0(root),1(bin),2(daemon),3(sys),4(adm),6(disk),10(wheel)context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023


–这里root 用户的UID 就是0


[root@rac1 R_Language]# su – Oracle


rac1:/home/oracle> id


uid=500(oracle) gid=501(oinstall)groups=501(oinstall),502(dba),503(asmadmin),504(oper)context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023


–Oracle 用户的UID就是50.


 


(2)    用户的认证可以使用RSA。


 


如下是我用Oracle 用户登陆之后的截图:




 


如果我们不能通过web进行,可以使用如下命令验证rstudio server 的安装:


[root@rac1 R_Language]# rstudio-server verify-installation


Stopping rstudio-server:                                   [  OK  ]


Starting rstudio-server:                                   [  OK  ]

2.2 配置RStudio Server

       RStudio有2个配置文件,但是默认情况下,这2个文件没有创建,如果我们要修改这个配置,需要先创建这2个文件:


[root@rac1 rstudio]# touch /etc/rstudio/rserver.conf


[root@rac1 rstudio]# touch /etc/rstudio/rsession.conf


[root@rac1 rstudio]# ls


installed rserver.conf  rsession.conf  secure-cookie-key


 


创建配置文件之后就可以进行修改,修改完毕之后可以使用命令来验证修改的有效性:


[root@rac1 rstudio]# rstudio-server test-config


 


注意:


       这个命令在启动和关闭RStudio server 时也会自动执行。当配置无效时,这个验证也会报错。


 


2.2.1 配置网络端口和地址

默认的端口是8787,如果我们想改成其他端口,可以在/etc/rstudio/rserver.conf  文件中添加并修改参数:


www-port=80


–这里我们是将端口改成80.


 


       默认情况下,RStudio 是将IP地址绑定到0.0.0.0, 这样任何客户地址都可以访问。 我们可以改成其他地址,添加并修改参数:


       www-address=127.0.0.1


 


修改完毕之后要验证参数有效性,并重启rstudio-server。


[root@rac1 rstudio]# rstudio-server test-config


[root@rac1 rstudio]# rstudio-server restart


Stopping rstudio-server:                                   [  OK  ]


Starting rstudio-server:                                   [  OK  ]


 


2.2.2 设置扩展库

       如果我们添加其他的library到默认LD_LIBRARY_PATH 中指定库,可以通过rsession-ld-library-path参数,在/etc/rstudio/rserver.conf 文件中添加external library的位置即可,如:


rsession-ld-library-path=/opt/local/lib:/opt/local/someapp/lib


 


2.2.3 指定R 版本

       默认情况下,RStudio server 运行时使用的R是系统PATH中指定的R,这个位置可以使用which R确定,如果我们的系统上有多个版本的R,那么可以使用rsession-which-r参数指定RStudio 使用哪个版本的R。 如:


rsession-which-r=/usr/local/bin/R


 


在/etc/rstudio/rserver.conf文件里添加这个参数之后,必须重启rstudio server 才能生效。


 


2.2.4 设置用户限制

       如果有大量的用户使用,那么会消耗很多的资源,可以限制一些用户对资源的使用。


       在/etc/rstudio/rserver.conf文件中添加auth-required-user-group参数,可以指定访问rstudio 的用户:


auth-required-user-group=rstudio_users


 


验证一下:


[root@rac1 rstudio]# useradd dave


You have new mail in /var/spool/mail/root


[root@rac1 rstudio]# passwd dave


Changing password for user dave.


New password:


BAD PASSWORD: it is too short


BAD PASSWORD: is too simple


Retype new password:


passwd: all authentication tokens updatedsuccessfully.


 


[root@rac1 rstudio]# cat /etc/passwd|grepdave


dave:x:502:506::/home/dave:/bin/bash


 


–创建组,将dave 用户添加到该组:


[root@rac1 rstudio]# groupadd rstudio_users


[root@rac1 rstudio]# usermod -g rstudio_users -G rstudio_users dave


 


在/etc/rstudio/rserver.conf 文件中指定用户组,只有属于改组的用户才可以使用rstudio。


auth-required-user-group=rstudio_users


 


[root@rac1 rstudio]# rstudio-server test-config  


[root@rac1 rstudio]# rstudio-server restart


Stopping rstudio-server:                                   [  OK  ]


Starting rstudio-server:                                   [  OK  ]


 


现在就只有dave 用户能访问,Oracle 用户就访问不了了。


 


当然也可以添加一些其他的资源限制,比如总内存,stack size 和进程数等,如:


rsession-memory-limit-mb=4000


rsession-stack-limit-mb=10


rsession-process-limit=100


 


添加到/etc/rstudio/rserver.conf后需要重启服务才能生效。


 


2.2.5 其他的设置

       前面讲的都是/etc/rstudio/rserver.conf配置,另一个配置文件是/etc/rstudio/rsession.conf ,其可以配置与R session 相关的信息。当R 用户很多时,这个参数就很有用,其可以显示session 信息。


 


       以下的配置都是写在/etc/rstudio/rsession.conf文件中。


 


       默认情况下,当用户2个小时没有执行命令,RStudio 会suspend 用户的R session,并将这些信息写入磁盘,从而减少资源的消耗,当用户下次使用时,session被还原。


       可以通过session-timeout-minutes 参数指定session 过期的时间,如:


session-timeout-minutes=30


       如果这里设置为0,则表示禁用该功能。用户session 将不会suspend,一直运行。


 


       其他的限制包括limit-file-upload-size-mb 参数,其可以显示最大的上传大小,如:


limit-file-upload-size-mb=100


 


       也可以指定默认的CRAN repository 服务地址,如:


r-cran-repos=http://cran.case.edu/


 


2.3 管理RStudio Server

       RStudio server 的管理通过rstudio-server 命令来进行,通过这个命令可以启用,停止,重启等操作。


 


[root@rac1 rstudio]# rstudio-server


Usage: rstudio-server{start|stop|restart|test-config|verify-installation|suspend-session|suspend-all|force-suspend-session|force-suspend-all|offline|online|active-sessions|version}


 


2.3.1 Stopping and Starting

如果使用包来安装的RStudio,那么会自动将RStudio 注册到系统了,在系统启动会自动启动。


在Ubuntu系统上,启动脚本是:


/etc/init/rstudio-server.conf


 


在其他系统上,启动脚本在:


/etc/init.d/rstudio-server


 


手工的操作命令如下:


$ rstudio-server stop


$ rstudio-server start


$ rstudio-server restart

2.3.2 Managing Active Sessions

 


可以使用如下命令查看活动的session:


 [root@rac1 init.d]# rstudio-server active-sessions


 PID     TIME COMMAND


 496900:00:09 /usr/lib/rstudio-server/bin/rsession -u Oracle


 838900:00:04 /usr/lib/rstudio-server/bin/rsession -u dave


You have new mail in /var/spool/mail/root


[root@rac1 init.d]#


 


这里有2个活动的session。


 


–suspend 某个session:


$ rstudio-server suspend-session<pid>


[root@rac1 init.d]# rstudio-serversuspend-session 4969


 


–suspend 所有session:


$ sudo rstudio-server suspend-all


[root@rac1 init.d]# sudo rstudio-serversuspend-all


 


Suspend 命令还有一个force 变量,其可以中断session的任何R操作:


$ sudo rstudio-server force-suspend-session<pid>


$ sudo rstudio-server force-suspend-all


 


在系统reboot 之前,会先执行force-suspend-all,从而保证活动 R sessions的数据及时写入disk。


 


2.3.3 Taking the Server Offline

       如果要进行系统维护,要让用户接收到一条友好的消息,可以执行serveroffline 操作,其会在用户web上显示server 临时offline。


 


[root@rac1 init.d]# rstudio-server offline


Stopping rstudio-server:                                   [  OK  ]


Starting rstudio-server:                                   [  OK  ]


You have new mail in /var/spool/mail/root


 


在用户的web会显示如下:




 


当维护结束,在让sever online即可:


[root@rac1 init.d]# rstudio-server online


Stopping rstudio-server:                                   [  OK  ]


Starting rstudio-server:                                   [  OK  ]


You have new mail in /var/spool/mail/root


 


 


最后的老规矩,演示一下之前安装时示例,如下图:


 

赞(0) 打赏
转载请注明出处:服务器评测 » RStudio Linux Server 版本 安装配置 说明
分享到: 更多 (0)

听说打赏我的人,都进福布斯排行榜啦!

支付宝扫一扫打赏

微信扫一扫打赏