如何在Linux上运行的DeployR服务器上安装R包(托管在Amazon EC2上)?

问题描述:

我在Amazon EC2实例上托管的Redhat Linux上成功安装了DeployR。我可以成功进入DeployR登陆页面并选中诊断选项卡,它说DeployR正在运行,并且显示正常。如何在Linux上运行的DeployR服务器上安装R包(托管在Amazon EC2上)?

我测试过一个简易R脚本并运行罚款DeployR,但现在我需要安装RJDBC包:install.packages(“RJDBC”,DEP = TRUE)

的文档不清晰的包管理:https://deployr.revolutionanalytics.com/documents/admin/r-package-mgmt/

它说:“在DeployR网格节点上手动运行此R脚本。”但不知道如何在网格节点上运行脚本。我如何访问网格节点?

通常,需要关于如何为DeployR安装软件包的指导。

+0

您的Amazon EC2实例是网格节点。 DeployR(企业版,不是开源版)可以运行在一组服务器上,每个服务器都是一个网格节点 –

如果您的DeployR安装只有一台服务器,那么“网格节点”意味着您的服务器 - 只需通过SSH(或任何其他允许您访问DeployR的东西)访问并执行所需操作。

与DeployR在Linux上最典型的问题是开发包(那些有-devel后缀),所需要的编译和构建R封装是DeployR从CRAN库中获取源代码(这是从Windows的主要区别可用性和已预编译包二进制文件的Mac OSX)。

最简单的方法是看RServe日志(如<deployr_home>/deployr/8.0.0/rserve/R/log),发现有错误消息(S)的一些库不可用(-ies)(例如xcurl否则水木清华),然后安装所需的RPM发展(对于我的示例,为yum install xz-develyum install libcurl-devel)。

从错误消息中找出所需的软件包名称有时是一个相当大的挑战。为此,您可以采用不同的方式,例如如果您知道应该属于它的某个文件名,您可以在基于RedHat的发行版或http://rpm.pbone.net/网站上查找包名称,例如:yum search。如果出现错误消息curl-config: command not found,则可以在rpm.pbone.net中查找curl-config文件,并获取相应软件包名称的提示。

下面是对DeployR一些最常用的开发包,我在亚马逊的Linux AMI使用列表:

  • PCRE-devel的
  • XZ-devel的
  • 的bzip2-devel的
  • 的zlib -devel
  • libicu-devel的
  • 的libstdC++ - devel的
  • libcur 1-devel的
  • 的libxml2-devel的

由于亚马逊Linux是基于RedHat的发行版,这些软件包名称应该适合你。