R包在AWS t2.micro冻结上安装dplyr

时间:2017-05-01 07:38:34

标签: r amazon-web-services g++ dplyr

我有一份我写过的Rescript,它正在我的Mac OSX上运行所有依赖项。

我现在已经在AWS上设置了t2.micro并安装了R而没有任何问题。我跑的时候

install.packages("dplyr")

它只是冻结在这一行

g++ -m64 -I/usr/include/R -DNDEBUG -I../inst/include -DCOMPILING_DPLYR -I/usr/local/include -I"/usr/lib64/R/library/Rcpp/include" -I"/usr/lib64/R/library/BH/include"  -DBOOST_NO_INT64_T -DBOOST_NO_INTEGRAL_INT64_T -DBOOST_NO_LONG_LONG -fpic  -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic  -c dplyr.cpp -o dplyr.o

我离开了几个小时,没有任何变化。它看起来像CPU正在突破,因为我们将会这样做。

我该怎么办?

2 个答案:

答案 0 :(得分:4)

对于有同样问题的人,请参阅下面的解决方法。

问题是t2.micro没有能力安装脚本的依赖项。

那我怎么解决这个问题呢?我创建了一个t2.large,从命令行安装了所有依赖项。然后从AWS控制台创建一个快照,将其转换为图像,然后将一个卷转换为一个新的t2.micro,它现在正在工作。

https://www.youtube.com/watch?v=W89C_OqlOwE

答案 1 :(得分:0)

虽然调整实例大小是一个可行的选择,但如果您绝对希望保留在免费套餐的t2.micro实例中,则可以借鉴Raspberry Pi用户的技巧并设置交换空间。以下代码为内存交换设置了一个3GB的文件。

https://community.rstudio.com/t/setting-up-your-own-shiny-server-rstudio-server-on-a-raspberry-pi-3b/18982

sudo /bin/dd if=/dev/zero of=/var/swap.1 bs=1M count=3072
sudo /sbin/mkswap /var/swap.1
sudo /sbin/swapon /var/swap.1
sudo sh -c 'echo "/var/swap.1 swap swap defaults 0 0 " >> /etc/fstab'

然后像往常一样安装dplyr,例如

sudo su - -c "R -e \"install.packages('dplyr', repos='http://cran.rstudio.com/')\""

交换空间不会像在EBS上那样快,但是可以完成工作。昨晚我是在t2.micro ubuntu 18.04实例上完成的