docker安装spark 3.4.2
·
背景
最近在学spark,在网上找了关于docker部署很多资料,都是部署bitnami/spark这个镜像的,这个镜像在3.1.2版本上运行pyspark正常,但是在3.4.0以上版本上运行pyspark就报Error: pyspark does not support any application options
相关参考:https://github.com/bitnami/containers/issues/38139
感觉是这个镜像自己的问题,所以我根据官方的docker镜像构建了一个新的,能正常运行pyspark
步骤
使用使用docker-compose安装
- docker-compose文件如下
spark:
build:
context: .. # 关键点:将构建上下文设置为父目录(docker的上级目录)
dockerfile: docker/spark/Dockerfile # Dockerfile的相对路径(相对于context)
image: spark:3.4.2 # <<< 显式指定镜像名称
container_name: spark
networks:
- hp_network
ports:
- "8080:8080"
- "7077:7077"
hostname: spark-master
command: bash -c "start-master.sh && tail -f /dev/null"
- Dockerfile文件
# ===== 生产镜像阶段 =====
FROM spark:3.4.2-scala2.12-java11-python3-r-ubuntu
ENV SPARK_HOME=/opt/spark
ENV PATH=$PATH:$SPARK_HOME/bin:$SPARK_HOME/sbin
# 设置权限
RUN chmod +x $SPARK_HOME/bin
USER root
# 安装必要依赖
RUN apt-get clean && apt-get update && apt-get install -y \
vim \
tzdata && \
# 设置固定时区(以中国为例)
ln -fs /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && \
echo "Asia/Shanghai" > /etc/timezone && \
apt-get clean && rm -rf /var/lib/apt/lists/*
WORKDIR /opt/spark
EXPOSE 8080 7077
- 相关目录结构

- 编译并运行
docker compose -f 'docker\docker-compose.yml' up -d --build 'spark'
测试
- 访问:spark web页面

- 测试pyspark
进入容器内部,执行
pyspark

更多推荐
所有评论(0)