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

标签 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 安装包的指导。

最佳答案

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

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

最简单的方法是查看 RServe 日志(例如 <deployr_home>/deployr/8.0.0/rserve/R/log ),找到有关某些库不可用的错误消息(例如 xcurl 或其他),然后安装所需的开发 RPM(我的示例为 yum install xz-develyum install libcurl-devel)。

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

这是我在 Amazon Linux AMI 上使用的一些最常用的 DeployR 开发包的列表:

  • pcre-devel
  • xz-开发
  • bzip2-devel
  • zlib 开发
  • libicu-开发
  • libstdc++-devel
  • libcurl 开发
  • libxml2-devel

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

关于r - 如何在 Linux 上运行的 DeployR 服务器上安装 R 包(托管在 Amazon EC2 上)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36942230/

相关文章:

php - 如何将 php 变量放入 linux 脚本中?

linux - 如何只允许某些命令在我的 shell 中运行?

r - 在 Markdown 中的图周围环绕文本

r - 传单R中的可变标记大小功能

arrays - 从数组中删除行

r - 根据行的值删除列

python - 在网络上的另一台计算机上启动进程

apache - 在亚马逊 VPC 上设置多个 SSL 证书

mysql - 无法再次连接到 AWS RDS

mysql - Amazon Web Services - RDS IP 地址和 Tomcat