基于docker构建spark运行环境

基于docker构建spark运行环境

一、安装docker与docker-compose

参考之前的实验进行docker和docker-compose的安装。

二、系统构架图:

在这里插入图片描述

三、安装相关镜像

使用docker hub查找我们需要的镜像。

  1. spark-master
    在这里插入图片描述

  2. spark-worker
    在这里插入图片描述

四、docker compose部署文件准备

docker-compose.yml文件可以从本机编辑好再上传的虚拟机或服务器。
将docker-compose.yml文件拷贝到/usr/local/bin/内部并通过以下命令给予执行权限。
chmod 777
docker-compose.yml文件内容如下:
version: ‘3’

services:
spark-master:
image: bde2020/spark-master:3.1.1-hadoop3.2
container_name: spark-master
ports:
- “8080:8080”
- “7077:7077”
volumes:
- <共享目录绝对路径>:/data
environment:
- INIT_DAEMON_STEP=setup_spark
spark-worker-1:
image: bde2020/spark-worker:3.1.1-hadoop3.2
container_name: spark-worker-1
depends_on:
- spark-master
ports:
- “8081:8081”
volumes:
- <共享目录绝对路径>:/data
environment:
- “SPARK_MASTER=spark://spark-master:7077”
spark-worker-2:
image: bde2020/spark-worker:3.1.1-hadoop3.2
container_name: spark-worker-2
depends_on:
- spark-master
ports:
- “8082:8081”
volumes:
- <共享目录绝对路径>:/data
environment:
- “SPARK_MASTER=spark://spark-master:7077”

五、使用yml部署文件部署spark环境

  1. 在yml文件所在的目录下,执行命令:
    sudo docker-compose up -d

  2. 检查docker在命令行的输出确认容器的部署顺利完成。
    在这里插入图片描述

  3. 查看容器创建与运行状态
    sudo docker ps
    在这里插入图片描述

  4. 对输出进行格式化(可选)
    sudo docker ps --format ‘{ {.ID}} { {.Names}}’
    在这里插入图片描述

  5. 使用浏览器查看master的web ui界面
    在这里插入图片描述

  6. 进入spark-master容器
    sudo docker exec -it <master容器的id,仅需输入一部分即刻> /bin/bash
    在这里插入图片描述

  7. 查询spark环境,安装在/spark下面。
    ls /spark/bin
    在这里插入图片描述

  8. 进入spark-shell
    /spark/bin/spark-shell --master spark://spark-master:7077 --total-executor-cores 4 --executor-memory 1280m
    在这里插入图片描述

  9. 进入浏览器查看spark-shell的状态
    在这里插入图片描述

六、完成创建RDD与filter处理的实验

  1. 创建一个RDD
    val rdd=sc.parallelize(Array(1,2,3,4,5,6,7,8))
    在这里插入图片描述

  2. 打印rdd内容
    rdd.collect()
    在这里插入图片描述

  3. 查询分区数
    rdd.partitions.size
    在这里插入图片描述

  4. 选出大于5的数值
    val rddFilter=rdd.filter(_ > 5)
    在这里插入图片描述

  5. 打印rddFilter内容
    rddFilter.collect()
    在这里插入图片描述

  6. 退出spark-shell
    :quit
    :quit

猜你喜欢

转载自blog.csdn.net/weixin_45795947/article/details/124438475