本系列演示如何使用 Docker 搭建 Spark Cluster。
在本系列的第一部分,我们首先搭建一个包含 Scala, Python, SBT 和 Spark 的基础镜像,为后续的集群搭建打下基础。
所使用到的软件版本分别为:
Java: 1.8
Scala: 2.13.4
Python: 3
Spark: 2.4.7
基于网络的Dockerfile
为构建基础镜像,我们使用如下的 Dockerfile
1 | FROM java:8-jdk-alpine |
该文件指定使用 Alpine Linux 官方的 JDK 8 镜像作为基础,通过在构建镜像时直接从网络下载 (使用 wget )相关的软件包来进行构建。
保存文件后,执行以下命令进行构建(假设以上的内容保存在名为 base-spark 的文件中)
1 | docker build -t="spark-base:2.3.1" -f base-spark . |
基于本地文件的 Dockerfile
如果下载 scala, sbt 或 spark 时比较慢,或者是有些完全无法下载,可以先从别的渠道把这三个软件的压缩包下载好,再修改 Dockerfile 中的部分内容来完成构建。
为方便下载以上三个软件有困难的读者,笔者已经将相关压缩包发在百度盘中,可以凭下面的信息进行存取。
1 | 链接:https://pan.baidu.com/s/1mIEuRx9DmB_UNReUId6iqg |
下载以后,把三个压缩包和 Dockerfile 放在同一目录下。然后修改 Dockerfile 文件如下:
1 | FROM java:8-jdk-alpine |
保存文件后,执行以下命令进行构建(假设以上的内容保存在名为 base-spark 的文件中)
1 | docker build -t="spark-base:2.3.1" -f base-spark . |