Docker-Compose构建spark集群

0.前言

知道我的兄弟朋友们可能知道,我最近工作中,我们老大叫我利用Docker构建大数据开发环境。今天真的十分开心,我利用Docker-Compose构建出Kafka-Spark-MySQL的云平台大数据开发环境,并利用自己撰写的spark streaming程序实现了实时数据的处理。
本篇文章主要介绍利用Docker-Compose构建出Spark的运行环境,和前面的Kafka和MySQL相似,本次搭建的Spark集群还是采用Bitnami的镜像进行构建。

1.单节点的Spark的构建

下面是利用Docker-Compose构建的Spark的单节点,生产环境不建议这样配置。下面是单节点的配置文件

version: '2'

services:
  spark:
    image: docker.io/bitnami/spark:3.3
    ports:
      - '8080:8080'
    environment:
      - SPARK_RPC_AUTHENTICATION_ENABLED=no
      - SPARK_RPC_ENCRYPTION_ENABLED=no
      - SPARK_LOCAL_STORAGE_ENCRYPTION_ENABLED=no
      - SPARK_SSL_ENABLED=no
      - SPARK_MASTER_URL=spark://spark:7077
      - SPARK_WORKER_MEMORY=1G
      - SPARK_WORKER_CORES=1

2.Spark一主两从节点的构建

2.1Docker-Compose配置文件

下面是Spark一主两从的节点配置脚本

version: '2'

services:
  spark:
    image: docker.io/bitnami/spark:3.3
    environment:
      - SPARK_MODE=master
      - SPARK_RPC_AUTHENTICATION_ENABLED=no
      - SPARK_RPC_ENCRYPTION_ENABLED=no
      - SPARK_LOCAL_STORAGE_ENCRYPTION_ENABLED=no
      - SPARK_SSL_ENABLED=no
    ports:
      - '8080:8080'
  spark-worker-1:
    image: docker.io/bitnami/spark:3.3
    environment:
      - SPARK_MODE=worker
      - SPARK_MASTER_URL=spark://spark:7077
      - SPARK_WORKER_MEMORY=1G
      - SPARK_WORKER_CORES=1
      - SPARK_RPC_AUTHENTICATION_ENABLED=no
      - SPARK_RPC_ENCRYPTION_ENABLED=no
      - SPARK_LOCAL_STORAGE_ENCRYPTION_ENABLED=no
      - SPARK_SSL_ENABLED=no
  spark-worker-2:
    image: docker.io/bitnami/spark:3.3
    environment:
      - SPARK_MODE=worker
      - SPARK_MASTER_URL=spark://spark:7077
      - SPARK_WORKER_MEMORY=1G
      - SPARK_WORKER_CORES=1
      - SPARK_RPC_AUTHENTICATION_ENABLED=no
      - SPARK_RPC_ENCRYPTION_ENABLED=no
      - SPARK_LOCAL_STORAGE_ENCRYPTION_ENABLED=no
      - SPARK_SSL_ENABLED=no

2.2 环境配置参数

下面是Spark集群搭建的一些可用变量:

  • SPARK_MODE:集群模式启动 Apache Spark。有效值:主值、辅助角色。默认值:master
  • SPARK_MASTER_URL:工作人员可以找到主节点的 URL。仅当spark模式为辅助角色时才需要。默认值:spark://spark-master:7077
  • SPARK_RPC_AUTHENTICATION_ENABLED:启用 RPC 身份验证。默认值:no
  • SPARK_RPC_AUTHENTICATION_SECRET:用于 RPC 身份验证的密钥。无默认值。
  • SPARK_RPC_ENCRYPTION_ENABLED:启用 RPC 加密。默认值:no
  • SPARK_LOCAL_STORAGE_ENCRYPTION_ENABLED:启用本地存储加密:默false
  • SPARK_SSL_ENABLED:启用 SSL 配置。默认值:
  • SPARK_SSL_KEY_PASSWORD:密钥存储中私钥的密码。无默认值。
  • SPARK_SSL_KEYSTORE_FILE:密钥存储的位置。默认值:/opt/bitnami/spark/conf/certs/spark-keystore.jks.
  • SPARK_SSL_KEYSTORE_PASSWORD:密钥存储的密码。无默认值
  • SPARK_SSL_TRUSTSTORE_PASSWORD:信任存储的密码。无默认值。
  • SPARK_SSL_TRUSTSTORE_FILE:密钥存储的位置。默认值:/opt/bitnami/spark/conf/certs/spark-truststore.jks.
  • SPARK_SSL_NEED_CLIENT_AUTH:是否需要客户端身份验证。默认值:是
  • SPARK_SSL_PROTOCOL:要使用的 TLS 协议。默认值:TLSv1.2
  • SPARK_DAEMON_USER:容器以 root 身份启动时的 Apache Spark 系统用户。默认值:spark
  • SPARK_DAEMON_GROUP:容器以 root 身份启动时,Apache Spark 系统组。默认值:spark
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

绝域时空

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值