RStudio Linux Server安裝配置詳解說明

來源:互聯網
上載者:User

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

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.