您的位置:首页 > 运维架构 > Linux

RStudio Linux Server 版本 安装配置 说明

2016-04-18 13:49 656 查看
之前写过一篇R 7个免费的GUI工具,参考Blog:

R 语言 7个 免费的GUI图像界面 工具 说明
http://blog.csdn.net/tianlesoftware/article/details/7305727
这篇看一下R>一.安装 RStudio Server

RStudio下载地址:
http://rstudio.org/download/
安装RStudio 工具之前需要先安装好R,关与Linux 下R的安装,参考:

 R 语言Linux 环境 安装 说明
http://blog.csdn.net/tianlesoftware/article/details/7317725
安装 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 />

-------------------------------------------------------------------------------------------------------

版权所有,文章允许转载,但必须以链接方式注明源地址,否则追究法律责任!

Skype: tianlesoftware

Email:   tianlesoftware@gmail.com

Blog:     http://www.tianlesoftware.com
Weibo: http://weibo.com/tianlesoftware
Twitter: http://twitter.com/tianlesoftware
Facebook: http://www.facebook.com/tianlesoftware
Linkedin: http://cn.linkedin.com/in/tianlesoftware
来源: <http://www.07net01.com/program/305533.html>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: