我在CentOS 6上安装了Rstudio服务器,但是我无法从浏览器中http://localhost:8787的浏览器登录到Rstudio。一个标题为" RStudio Initialization Error"出现消息"无法连接到服务"。
我已尝试以下方法来解决错误,但我一直没有成功:
$ 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 :(得分:20)
登录时,rserver
进程处理您的身份验证,然后启动rsession
进程,即您将使用的会话。当rsession
进程因错误而终止时,会出现此问题。
如果您具有管理员权限,则可以通过跟踪rserver
进程并查看导致rsession
退出的问题来调试错误。
这是怎么做的。
首先找到rserver
进程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
的行输出中显示的第二个数字。在上面的例子中,process-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)
答案 1 :(得分:3)
我在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)
答案 2 :(得分:0)
标题为&#34; RStudio Initialization Error&#34;的弹出窗口;出现消息&#34;无法连接到服务&#34;。为了解决这个问题,我尝试将以下内容附加到/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.