2014-07-10 166 views
7

我在CentOS 6上安裝了Rstudio服務器,但我無法通過瀏覽器從http://localhost:8787的瀏覽器登錄到Rstudio。標題爲「RStudio初始化錯誤」的彈出窗口顯示消息「無法連接到服務」。無法在centos中啓動rstudio出現錯誤「無法連接到服務」

我曾嘗試以下糾正錯誤,但我一直沒有成功:

$ sudo rstudio-server verify-installation 
rstudio-server stop/waiting 
rserver[19273]: ERROR system error 13 (Permission denied) [username=rstudio-server]; OCCURRED AT: core::Error server::launchSession(const std::string&, const core::system::Options&, PidType*) /root/rstudio/src/cpp/server/ServerSessionManager.cpp:223; LOGGED FROM: int main(int, char* const*) /root/rstudio/src/cpp/server/ServerMain.cpp:428 
rstudio-server start/running, process 19287 

$ id -u supstat1 
502 (user name is more than 500) 

$ sudo usermod -g rstudio_users supstat1 

$ sudo vi /etc/sysconfig/iptables as root 
and added the following line(s) 
Add -A INPUT -m state --state NEW -m tcp -p tcp --dport 8787 -j ACCEPT 
Add -A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT 

$ sudo lsof | grep rstudio 
rserver 9597 rstudio-server cwd  DIR    8,1  4096   2/
rserver 9597 rstudio-server rtd  DIR    8,1  4096   2/
rserver 9597 rstudio-server txt  REG    8,1 7990044  553699 /usr/lib/rstudio-server/bin/rserver 
rserver 9597 rstudio-server mem  REG    8,1 156928  391944 /lib64/ld-2.12.so 
rserver 9597 rstudio-server mem  REG    8,1 1926800  391948 /lib64/libc-2.12.so 
rserver 9597 rstudio-server mem  REG    8,1 599384  396110 /lib64/libm-2.12.so 
rserver 9597 rstudio-server mem  REG    8,1  22536  391993 /lib64/libdl-2.12.so 
rserver 9597 rstudio-server mem  REG    8,1 145896  391952 /lib64/libpthread-2.12.so 
rserver 9597 rstudio-server mem  REG    8,1  91096  391950 /lib64/libz.so.1.2.3 
rserver 9597 rstudio-server mem  REG    8,1 1410824  564111 /usr/lib64/libcrypto.so.0.9.8e 
rserver 9597 rstudio-server mem  REG    8,1 327488  567429 /usr/lib64/libssl.so.0.9.8e 
rserver 9597 rstudio-server mem  REG    8,1 124624  396127 /lib64/libselinux.so.1 
rserver 9597 rstudio-server mem  REG    8,1 113952  406171 /lib64/libresolv-2.12.so 
rserver 9597 rstudio-server mem  REG    8,1  18936  396128 /lib64/libuuid.so.1.3.0 
rserver 9597 rstudio-server mem  REG    8,1  93320  396113 /lib64/libgcc_s-4.4.7-20120601.so.1 
rserver 9597 rstudio-server mem  REG    8,1  17256  392157 /lib64/libcom_err.so.2.1 
rserver 9597 rstudio-server mem  REG    8,1 177520  392161 /lib64/libk5crypto.so.3.1 
rserver 9597 rstudio-server mem  REG    8,1  12592  406310 /lib64/libkeyutils.so.1.3 
rserver 9597 rstudio-server mem  REG    8,1 280520  392159 /lib64/libgssapi_krb5.so.2.2 
rserver 9597 rstudio-server mem  REG    8,1 944712  391997 /lib64/libkrb5.so.3.3 
rserver 9597 rstudio-server mem  REG    8,1 989840  536152 /usr/lib64/libstdc++.so.6.0.13 
rserver 9597 rstudio-server mem  REG    8,1  46368  406311 /lib64/libkrb5support.so.0.1 
rserver 9597 rstudio-server mem  REG    8,1  17520  406322 /lib64/libutil-2.12.so 
rserver 9597 rstudio-server mem  REG    8,1  65928  391959 /lib64/libnss_files-2.12.so 
rserver 9597 rstudio-server 0u  CHR    1,3  0t0  3643 /dev/null 
rserver 9597 rstudio-server 1u  CHR    1,3  0t0  3643 /dev/null 
rserver 9597 rstudio-server 2u  CHR    1,3  0t0  3643 /dev/null 
rserver 9597 rstudio-server 3r  FIFO    0,8  0t0  37905 pipe 
rserver 9597 rstudio-server 4w  FIFO    0,8  0t0  37905 pipe 
rserver 9597 rstudio-server 5u  REG    0,9   0  3641 anon_inode 
rserver 9597 rstudio-server 6u  IPv4    37907  0t0  TCP *:msgsrvr (LISTEN) 
+0

檢查防火牆設置。如果不能連接,請嘗試telnet到8787端口。還請驗證netstat -a | grep 8787以查看端口是否正在偵聽 –

+0

對不起,我沒有意識到您是從同一臺計算機連接的。檢查netstat -a | grep 8787並且特定的端口處於偵聽狀態。 –

+0

我試圖說沒有輸出..仍然有相同的錯誤'無法連接到服務' – harry

回答

18

當你登陸rserver工藝處理您的身份驗證,然後觸發了一個rsession過程,這是會話你會用。當rsession進程由於錯誤而終止時,會發生該問題。

如果您擁有管理員權限,則可以通過跟蹤rserver進程並查看導致rsession退出的問題來調試錯誤。 以下是如何做到這一點。

首先找到rserver process-id。

ps auxw | grep studio 
rstudio-server  7035 0.0 0.0 362488 4480 ?  Ssl 16:37 0:01 /usr/local/lib/rstudio-server/bin/rserver 

請注意出現在包含字符串rstudio-server/bin/rserver的行的輸出上的第二個數字。在上面的情況下,進程ID是7035.

然後跟蹤rserver將輸出發送到文件。 -p之後的數字應該是rserver進程ID。時髦的-e選項用於減少來自Java線程管理的噪音。

sudo strace -f -e 'trace=!clock_gettime,gettimeofday,futex,timerfd_settime,epoll_wait,epoll_ctl' -p 7035 -o trace.txt 

登錄並等待出現錯誤消息。按下ctrl-c停止追蹤。

用您最喜歡的編輯器打開文件,然後搜索字符串exit_group

上面的行很可能表示在rsession中的錯誤。在我的情況下,它是從.rstudio到缺少目錄的符號鏈接。

7529 mkdir("/home/dds/.rstudio", 0777) = -1 EEXIST (File exists) 
7529 stat("/home/dds/.rstudio", 0x7ffff37419b0) = -1 ENOENT (No such file or directory) 
7529 write(2, "07 Feb 2015 16:46:53 [rsession-d"..., 395) = 395 
7529 sendto(3, "<11>Feb 7 16:46:53 rsession-dds"..., 398, MSG_NOSIGNAL, NULL, 0) = 398 
7529 exit_group(1) 
+3

非常非常有幫助 - 在我的情況下/ tmp/rstudio-rsession屬於root,不可寫 –

2

在Ubuntu上安裝Rstudio服務器時遇到類似問題。按照說明操作後,我發現我需要爲每個登錄Rstudio瀏覽器會話的用戶創建一個主目錄文件夾。

12414 mkdir("/home/chamal", 0777)  = -1 EACCES (Permission denied) 
12414 sendto(3, "<11>Jun 24 08:43:48 rsession-cha"..., 375, MSG_NOSIGNAL, NULL, 0) = 375 
12414 exit_group(1)  
0

標題爲「RStudio Initialization Error」的彈出窗口出現消息「無法連接到服務」。爲了解決這個問題,我試着在/etc/profile上添加以下內容,以便每個用戶都可以通過RStudio Server Pro會話獲取Revolution R: export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/RRO/RRO-8.0.3/R-3.1.3/lib64/R/lib:/usr/local/lib64.

相關問題