【发布时间】:2014-04-07 23:11:14
【问题描述】:
我花了大约一周的时间尝试在 AWS-EMR 上安装 R 和 rmr2,现在我向大家寻求一点帮助。我的引导脚本已成功安装 R 2.14.1-1~lennycran.0(感谢 JD Long 的博客)。当我尝试安装 rmr2 时,我遇到了经典的依赖问题。似乎我必须安装 Rcpp、RJSONIO、bitops、digest 等 5 个软件包。因为只有较旧的 Rcpp 适用于 R 2.14.1,所以我正在下载一个命名版本并安装它。多少岁了,我不知道——我随机尝试了几个版本,0.8.9 有效。我会再做几次试验。
sudo curl -o Rcpp.tar.gz http://cran.us.r-project.org/src/contrib/Archive/Rcpp/Rcpp_0.8.9.tar.gz
sudo R CMD INSTALL Rcpp.tar.gz
现在我应该安装其余的依赖项(如何?)
最终会安装 rmr2。我正在使用以下脚本,当然失败了-
sudo wget --no-check-certificate -o rmr2.tar.qz -S -T 10 -t 5 http://goo.gl/dvBric
sudo R CMD INSTALL rmr2.tar.gz
我的问题是-
安装其余依赖项的简单引导脚本应该是什么(“RJSONIO”、“bitops”、“digest”、“functional”、“stringr”、“plyr”、“reshape2”、“caTools”) ?我还需要担心这些软件包的兼容性吗?
这是我完整的 bootstrap.sh 代码 -
#!/bin/bash
#debian R upgrade
gpg --keyserver pgpkeys.mit.edu --recv-key 06F90DE5381BA480
gpg -a --export 06F90DE5381BA480 | sudo apt-key add -
echo "deb http://streaming.stat.iastate.edu/CRAN/bin/linux/debian lenny-cran/" | sudo tee -a /etc/apt/sources.list
sudo apt-get update
sudo apt-get -t lenny-cran install --yes --force-yes r-base r-base-dev
sudo curl -o rmr2.tar.gz http://goo.gl/dvBric
sudo R CMD INSTALL rmr2.tar.gz <<<< Does not go beyond this.
set -e
bucket=muxxx-bisxxx-bucket
path=input.tar.gz
wget -S -T 10 -t 5 http://$bucket.s3.amazonaws.com/$path
mkdir -p /home/hadoop/contents
tar -C /home/hadoop/contents -xzf input.tar.gz
export HADOOP_CMD=/home/hadoop/bin/hadoop
export HADOOP_STREAMING=/home/hadoop/contrib/streaming/hadoop_streaming.jar
/home/hadoop/bin/hadoop fs -mkdir /home/hadoop/contents
/home/hadoop/bin/hadoop fs -put /home/hadoop/contents/* /home/hadoop/contents/
【问题讨论】:
-
我不知道这对您的情况是否有帮助,但我发现使用这些 RStudio AMI 设置 R 和安装软件包很容易:louisaslett.com/RStudio_AMI。你的情况可能更复杂。希望对您有所帮助。
-
如果您安装了最新版本的 R,似乎一切都会变得更容易。更新:显然我的错误,因为 rmr2 包似乎不适用于更高版本。您是否尝试过从 R 命令提示符安装软件包?
-
您不知道如何从 R 控制台或命令行安装软件包?
-
@BondedDust,是的,对 R 来说有点新。我遵循手册等并使用 Rscript -e 'install.packages("xyz")' 或 R CMD 安装 xyz.tar.gz(我愿意不知道有什么区别)。我敢肯定,要弄清楚这一切还需要一段时间。我想知道是否有人已经打破了这条路。请注意,我不能在引导脚本中使用 R 控制台(或者我可以吗?)
-
@EricGreen,我认为 Louis Aslett 方法适用于 EC2。我必须使用 EMR。
标签: r amazon-web-services amazon-emr bootstrapping