Sedona 的 Docker 镜像可在 Sedona 官方 DockerHub 仓库 获取。
我们提供了一个集成 Python JupyterLab、Apache Zeppelin,以及 1 个 master 节点和 1 个 worker 节点的 Apache Sedona Docker 镜像。
格式:
docker pull apache/sedona:<sedona_version>
示例 1:拉取 Sedona master 分支的最新镜像
docker pull apache/sedona:latest
示例 2:拉取某个特定 Sedona 发布版本的镜像
docker pull apache/sedona:{{ sedona.current_version }}
格式:
docker run -d -e DRIVER_MEM=<driver_mem> -e EXECUTOR_MEM=<executor_mem> -p 8888:8888 -p 8080:8080 -p 8081:8081 -p 4040:4040 -p 8085:8085 apache/sedona:<sedona_version>
driver_mem 与 executor_mem 是可选项;如果未提供,容器将分别为 driver 和 executor 各分配 4GB 内存。-d(或 --detach)参数让容器以分离模式后台运行。
示例 1:
docker run -d -e DRIVER_MEM=6g -e EXECUTOR_MEM=8g -p 8888:8888 -p 8080:8080 -p 8081:8081 -p 4040:4040 -p 8085:8085 apache/sedona:latest
该命令会启动一个使用 6GB driver 内存与 8GB executor 内存的容器,并使用最新的 Sedona 镜像;容器以分离模式运行。
该命令会将容器的 8888、8080、8081、4040、8085 端口分别映射到宿主机的同名端口。
示例 2:
docker run -d -e -p 8888:8888 -p 8080:8080 -p 8081:8081 -p 4040:4040 -p 8085:8085 apache/sedona:{{ sedona.current_version }}
该命令会启动一个 driver 与 executor 各使用 4GB 内存的容器,并使用 Sedona {{ sedona.current_version }} 镜像。
容器的端口映射与示例 1 相同。
示例 3:使用 Docker volume 持久化 /opt(Jupyter & Zeppelin 数据)
为确保 Jupyter 工作区、Zeppelin notebook 与配置不会丢失,可以将 /opt 挂载为 Docker volume:
docker run -d -e DRIVER_MEM=6g -e EXECUTOR_MEM=8g \ -p 8888:8888 -p 8080:8080 -p 8081:8081 -p 4040:4040 -p 8085:8085 \ -v sedona_opt:/opt \ apache/sedona:latest
-v sedona_opt:/opt 会创建(若不存在)并挂载名为 sedona_opt 的 Docker volume 到容器内的 /opt 目录。打开浏览器访问 http://localhost:8888/,即可在 Jupyter Notebook 中使用 Sedona 编码。也可以在浏览器中访问 http://localhost:8085/classic/ 来使用 Apache Zeppelin。
克隆 Sedona GitHub 仓库。
要求:docker(安装方法)
格式:
./docker/build.sh <spark_version> <sedona_version> <build_mode>
示例:
./docker/build.sh 3.4.1 {{ sedona.current_version }}
build_mode 为可选项。如果未提供或值为 local,脚本会在本地构建镜像;否则会启动跨平台编译并直接将镜像推送到 DockerHub。
要求:docker(安装方法)、JDK <= 19、maven3
格式:
./docker/build.sh <spark_version> latest <build_mode>
示例:
./docker/build.sh 3.4.1 latest
build_mode 为可选项,含义与上文相同。
该 Docker 镜像仅支持基于 Sedona 1.7.0+ 与 Spark 3.3+ 构建。
容器中已捆绑一份 Zeppelin 教程 notebook,详情请参阅 Sedona-Zeppelin 教程。
格式:
docker login ./docker/build.sh <spark_version> <sedona_version> release
示例:
docker login ./docker/build.sh 3.4.1 {{ sedona.current_version }} release