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

时间:2016-04-29 15:28:09

标签: r linux amazon-ec2 deployr

我在Amazon EC2实例上托管的Redhat Linux上成功安装了DeployR。我可以成功转到DeployR登录页面并检查诊断选项卡,它说DeployR正在运行,并且显示正常。

我测试了一个简单的R脚本并在DeployR上运行正常,但现在我需要安装RJDBC包:install.packages(“RJDBC”,dep = TRUE)

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

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

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

1 个答案:

答案 0 :(得分:0)

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

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

最简单的方法是查看RServe日志(例如<deployr_home>/deployr/8.0.0/rserve/R/log),找到有关某些库(-ies)不可用的错误消息(例如x或{{1}或者smth else),然后为我的示例安装所需的开发RPM(curlyum install xz-devel。)

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

以下列出了我在Amazon Linux AMI上使用的一些最常用的DeployR开发包:

  • PCRE-devel的
  • XZ-devel的
  • 的bzip2-devel的
  • 的zlib-devel的
  • libicu-devel的
  • 的libstdc ++ - devel的
  • 的libcurl-devel的
  • 的libxml2-devel的

由于Amazon Linux基于RedHat发行版,因此这些软件包名称应该适合您。