使用docker构建spark运行环境

使用docker构建spark运行环境

    • 安装docker与docker-compose
    • 系统构架图:
    • docker compose部署文件:
    • 使用yml部署文件部署spark环境
  • 测试:创建RDD与filter处理

安装docker与docker-compose

可参考
https://blog.csdn.net/Dragon_qing/article/details/124416383

系统构架图:

使用docker构建spark运行环境_第1张图片

使用docker hub查找我们需要的镜像。
使用docker构建spark运行环境_第2张图片

使用docker构建spark运行环境_第3张图片

docker compose部署文件:

version: '3.8'

services:
  spark-master:
    image: bde2020/spark-master:3.2.0-hadoop3.2
    container_name: spark-master
    ports:
      - "8080:8080"
      - "7077:7077"
    volumes:
      - ~/spark:/data
    environment:
      - INIT_DAEMON_STEP=setup_spark
  spark-worker-1:
    image: bde2020/spark-worker:3.2.0-hadoop3.2
    container_name: spark-worker-1
    depends_on:
      - spark-master
    ports:
      - "8081:8081"
    volumes:
      - ~/spark:/data
    environment:
      - "SPARK_MASTER=spark://spark-master:7077"
  spark-worker-2:
    image: bde2020/spark-worker:3.2.0-hadoop3.2
    container_name: spark-worker-2
    depends_on:
      - spark-master
    ports:
      - "8082:8081"
    volumes:
      - ~spark:/data
    environment:
      - "SPARK_MASTER=spark://spark-master:7077"

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

推荐配置好docker的国内镜像源,pull的速度会更快
参考:https://blog.csdn.net/whatday/article/details/86770609

在spark.yml文件所在的目录下,执行命令:

sudo docker-compose -f spark.yml up -d
查看容器创建与运行状态

sudo docker ps

对输出进行格式化

sudo docker ps --format '{{.ID}} {{.Names}}'

使用浏览器查看master的web ui界面
使用docker构建spark运行环境_第4张图片
进入spark-master容器

sudo docker exec -it /bin/bash

查询spark环境,安装在/spark下面。

ls /spark/bin

进入spark-shell

/spark/bin/spark-shell --master spark://spark-master:7077 --total-executor-cores 8 --executor-memory 2560m

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

测试:创建RDD与filter处理

创建一个RDD

val rdd=sc.parallelize(Array(1,2,3,4,5,6,7,8))

打印rdd内容

rdd.collect()

查询分区数

rdd.partitions.size

选出大于5的数值

val rddFilter=rdd.filter(_ > 5)

打印rddFilter内容

rddFilter.collect()

退出spark-shell

:quit

你可能感兴趣的:(spark,docker,容器)