如何解决Sparklyr 无法从 Dockerfile 中的 apache 下载 Spark
我正在尝试创建一个 dockerfile,该文件从 Rocker/tidyverse 构建图像并包含来自 sparklyr 的 Spark。以前,在这篇文章:Unable to install spark with sparklyr in Dockerfile 中,我试图弄清楚为什么 spark 不能从我的 dockerfile 下载。玩了 5 天后,我想我找到了原因,但不知道如何解决。
这是我的 Dockerfile:
# start with the most up-to-date tidyverse image as the base image
FROM rocker/tidyverse:latest
# install openjdk 8 (Java)
RUN apt-get update \
&& apt-get install -y openjdk-8-jdk
# Install devtools
RUN Rscript -e 'install.packages("devtools")'
# Install sparklyr
RUN Rscript -e 'devtools::install_version("sparklyr",version = "1.5.2",dependencies = TRUE)'
# Install spark
RUN Rscript -e 'sparklyr::spark_install(version = "3.0.0",hadoop_version = "3.2")'
RUN mv /root/spark /opt/ && \
chown -R rstudio:rstudio /opt/spark/ && \
ln -s /opt/spark/ /home/rstudio/
RUN apt-get install unixodbc unixodbc-dev --install-suggests
RUN apt-get install odbc-postgresql
RUN install2.r --error --deps TRUE DBI
RUN install2.r --error --deps TRUE RPostgres
RUN install2.r --error --deps TRUE dbplyr
下载到这一行之前的所有内容都没有问题:
RUN Rscript -e 'sparklyr::spark_install(version = "3.0.0",hadoop_version = "3.2")'
然后给了我错误:
Step 5/11 : RUN Rscript -e 'sparklyr::spark_install(version = "3.0.0",hadoop_version = "3.2")'
---> Running in 739775db8f12
Error in download.file(installInfo$packageRemotePath,destfile = installInfo$packageLocalPath,:
download from 'https://archive.apache.org/dist/spark/spark-3.0.0/spark-3.0.0-bin-hadoop3.2.tgz' Failed
Calls: <Anonymous>
Execution halted
ERROR: Service 'rocker_sparklyr' Failed to build : The command '/bin/sh -c Rscript -e 'sparklyr::spark_install(version = "3.0.0",hadoop_version = "3.2")'' returned a non-zero code: 1
经过一番研究,我认为这是一个超时错误,在这种情况下,我提前运行了:
RUN Rscript -e 'options(timeout=600)'
这并没有增加再次出错的时间。我通过 Rstudio 将所有内容安装到我的个人机器上,并且安装没有任何问题。我认为这个问题是 docker 特有的,因为它无法从 https://archive.apache.org/dist/spark/spark-3.0.0/spark-3.0.0-bin-hadoop3.2.tgz
下载我发现关于这个问题的文档很少,我非常依赖这篇文章来解决这个问题。在此先感谢任何了解这方面知识的人与我们联系。
解决方法
自己下载版本然后用这个功能安装
sparklyr::spark_install_tar(tarfile ="~/spark/spark-3.0.1-bin-hadoop3.2.tgz")
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。