initctl:未知实例:Rstudio conf 更改后出错

initctl: Unknown instance: error after Rstudio conf change

我在 aws 机器上安装了新版本的 R(出于某种原因它总是带有旧版本并且几乎不可能 只是 有 yum 或 apt-开始工作)。我希望 rstudio 指向我从源代码构建的这个新版本,而不丢弃旧版本。因此,我转到 /etc/rstudio/rserver.conf (documentation) 并将内容更改为:

# Server Configuration File
rsession-which-r=/root/R-3.2.1/bin/R

我可以确认在此位置安装了新版本的 R,但在 rstudio-server 重新启动后出现错误。

root@ip-172-31-40-49 rstudio]$ rstudio-server restart
initctl: Unknown instance:

我该怎么办?

首先要做的是检查您的配置:

rstudio-server verify-installation

多次更新 R 或 RStudio 时,我 运行 遇到与您相同的错误,并收到以下错误消息。

-bash-4.1$ sudo rstudio-server verify-installation
29 Sep 2015 18:24:11 [rserver] ERROR system error 98 (Address already in use); OCCURRED AT: rstudio::core::Error rstudio::core::http::initTcpIpAcceptor(rstudio::core::http::SocketAcceptorService<boost::asio::ip::tcp>&, const std::string&, const std::string&) /root/rstudio/src/cpp/core/include/core/http/TcpIpSocketUtils.hpp:103; LOGGED FROM: int main(int, char* const*) /root/rstudio/src/cpp/server/ServerMain.cpp:436
rstudio-server start/running, process 48632

虽然我一直无法找出原因,但我可以建议以下解决方法:

1. change the port /etc/rstudio/rserver.conf for example from 8787 to 8788
2. open the new ports in your firewall settings. (allow access to the new port in /etc/sysconfig/iptables)
3. update your firewall: sudo /sbin/service iptables restart
4. restart Rstudio server: sudo rstudio-server restart

这种情况发生了大约 4-5 次,每次都对我有用。虽然我不是 100% 确定这对您的用例有帮助,但它可能会有所帮助。作为替代方案,如果您可以在 AWS 设置中使用容器,您可能会对现成的优质工具感兴趣 docker image with the latest R/Rstudio.

以下对我有用:

1) 查看使用8787的进程

sudo fuser 8787/tcp

2) 使用 -k 选项终止所有进程。

sudo fuser -k 8787/tcp

3) 启动 RStudio 服务器

sudo rstudio-server 启动

上面的解决方案是here由Leon Zhang提供的

当我从旧的 RStudio 服务器升级到新版本时,它发生在我的 Cento-7.x 机器上。重启机器似乎解决了问题。