Rstudio-server的搭建
Rstudio-server可以通過Rstudio網(wǎng)頁端來遠(yuǎn)程連接Linux服務(wù)器并操作R來處理數(shù)據(jù)。
RStudio Server enables you to provide a browser based interface to a version of R running on a remote Linux server, bringing the power and productivity of the RStudio IDE to server-based deployments of R.
這段時間由于疫情,在家辦公,時間能夠自己安排;索性想將托管在學(xué)校的服務(wù)器上搭建rstudio-server,讓本來就是linux命令行界面能以圖形化界面的方式---Rstudio展開;經(jīng)過一段時間的折騰----主要是聯(lián)系學(xué)校各種老師(唯唯諾諾)以及處理各種報錯,rstudio-server總算能在“服務(wù)器IP:8787”上打開并正常運(yùn)行?,F(xiàn)主要記錄幾點(diǎn),算是這段時間的處理筆記;
首先,要明白我們的實際需求:
studio-server的使用是采用服務(wù)端IP+服務(wù)端口進(jìn)行正常訪問(在成功安裝rstudio-server的前提下),因此我們要保證在客戶端上能夠正常訪問到該IP(8787端口在rstudio-server start后會自動開啟)。-
其次,需要明白實際處理的難點(diǎn):
要明白一般高校為了保護(hù)學(xué)校內(nèi)數(shù)據(jù)的安全,都基本采用內(nèi)網(wǎng)的方式;因而在這個前提下,學(xué)校一般會購買專業(yè)的“網(wǎng)絡(luò)安全產(chǎn)品”充當(dāng)校內(nèi)網(wǎng)絡(luò)傳輸?shù)摹爸虚g介質(zhì)”并對內(nèi)進(jìn)行統(tǒng)一的運(yùn)維,比如綠盟的堡壘機(jī);因此這里也需要明白“服務(wù)端---堡壘機(jī)---客戶端”三者之間的聯(lián)系。
通俗一點(diǎn)來說就是,在沒有堡壘機(jī)的情況下,客戶端通過輸入服務(wù)器的IP(相當(dāng)于服務(wù)器的身份證號碼)+端口(相當(dāng)于訪問服務(wù)器某項服務(wù)的一個窗口)的方式就能正常訪問并運(yùn)維服務(wù)器。而出與安全的考慮,學(xué)校購買的堡壘機(jī)在兩者之間就會扮演一個“安全中間人”的角色,即服務(wù)端發(fā)送的IP經(jīng)過堡壘機(jī)之后會發(fā)生改變并發(fā)送到客戶端上,這樣就避免了一些惡意用戶通過服務(wù)器的IP對服務(wù)器進(jìn)行惡意訪問攻擊;如下圖所示:
170945f46df347a2b79db38b6ca60942.jpg
解決辦法:
這樣也就不難理解:為什么在學(xué)校服務(wù)器上成功安裝rstudio-server后卻無法在客戶端正常訪問,因為服務(wù)器端的IP+8787端口無法通過堡壘機(jī)(假設(shè)堡壘機(jī)對你的服務(wù)器只開啟了SSH運(yùn)維設(shè)備)。
既然我們的目的是讓客戶端通過一個web頁面(IP+端口)取訪Linux服務(wù)器,但這個頁面在經(jīng)過堡壘機(jī)的時候被"墻"掉了,那么問題也變得比較好解決了,在堡壘機(jī)上開啟這臺服務(wù)器的web代理,即介于客戶端和Linux服務(wù)器之間充當(dāng)?shù)囊慌_web代理服務(wù)器,有了它之后,客戶端不是直接到Linux服務(wù)器去訪問(在學(xué)校有堡壘機(jī)的情況下本身不太現(xiàn)實),而是向代理web服務(wù)器發(fā)送請求,信號會先送到代理web服務(wù)器上,并由web代理服務(wù)器取回Linux服務(wù)器運(yùn)行的結(jié)果并返回到客戶端上。而在堡壘機(jī)上開啟你這臺服務(wù)器web代理需要學(xué)校堡壘機(jī)的超級用戶,因此,這最大的難點(diǎn)就是跟學(xué)校老師溝通,講清你的需求,一般情況下老師會同意的。
柳暗花明又一“坑”
在成功開啟web代理并如愿在Borrower上訪問到Rstudio界面之后,卻發(fā)現(xiàn)有一些包比如Seurat安裝及其困難;其次無法實時可視化,圖片無法報存為PNG格式等;MD~


解決辦法:
-
1:首先是安裝Seruat包困難的問題;
由于rstudio-server默認(rèn)會指定public下(也就是公共目錄下)R的版本,而public下的R根據(jù)我多次踩坑經(jīng)驗,安裝R包時很容易面臨著gcc編譯器等亂七八糟的問題,這我猜測可能時由于Linux系統(tǒng)版本下自帶的gcc編譯與R需要的編譯版本不匹配造成的,因此解決辦法是Conda安裝R,Conda安裝R包,并在/etc/rstudio/rserver.conf指定該conda安裝的R版本,默認(rèn)情況下,使用conda安裝R及packages的好處是會自動解決很多依賴、相關(guān)庫的問題。當(dāng)然如果你愿意去慢慢修改Linux系統(tǒng)版本下gcc編譯器,也沒問題,只是風(fēng)險比較大! -
2:其次是報RStudioGD()錯誤的問題;
這個問題是由于Linux下相關(guān)庫缺失造成繪圖設(shè)備不可用,網(wǎng)上找了很多帖子,比較靠譜的有這個:Linux安裝軟件報錯:version ZLIB_1.2.9 not found | showteeth's blog
(成功繪圖,R包加載成功?。。?/div>至此,折騰了好幾天的rstudio總算弄完,之前僅僅是因為個人PC跑不動單細(xì)胞的大數(shù)據(jù),而萌生是否能在強(qiáng)悍的服務(wù)器上使用Rstudio的想法,但未想過后面真是一步一個坑,首先要明白怎么弄,然后就是不斷地溝通、不斷地排錯。對于非計算機(jī)類科班出身的人來說,大有 “我就是為了這瓶醋而特地包了份餃子” 的感覺,但確實也學(xué)到了不少~。
參考:
Download RStudio Server - RStudio
驚艷 | RStuido server選擇不同的R版本(conda中的不同R版本) - 云+社區(qū) - 騰訊云 (tencent.com)最后編輯于 :?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。相關(guān)閱讀更多精彩內(nèi)容
- 在linux服務(wù)器上使用R語言及Rstudio servercat /etc/redhat-release: 查看...
- 前一段介紹過利用Windows系統(tǒng)的Ubuntu子系統(tǒng)搭建數(shù)據(jù)科學(xué)平臺,此番來介紹下除了jupyter之外的另外一...
- 在linux服務(wù)器上使用R語言及Rstudio servercat /etc/redhat-release: 查看...
- RStudio Server是網(wǎng)頁版的RStudio,相比于單機(jī)版,它的靈活性更強(qiáng),部署在服務(wù)器上后,可隨時隨地完...
- 1.安裝Ubuntu 16.04 操作系統(tǒng) 安裝過程不在此贅述 2.Ubuntu切換國內(nèi)源 修改etc/apt/s...

