Skip to content

Instantly share code, notes, and snippets.

@mvillarrealb
Created September 23, 2018 17:37
Show Gist options
  • Save mvillarrealb/42f4c6a544057f3d92e5e84e9285bce9 to your computer and use it in GitHub Desktop.
Save mvillarrealb/42f4c6a544057f3d92e5e84e9285bce9 to your computer and use it in GitHub Desktop.
A docker compose to create a spark standalone cluster using custom base images spark-master:2.3.1 and spark-worker:2.3.1
version: "3.7"
services:
spark-master:
image: spark-master:2.3.1
container_name: spark-master
hostname: spark-master
ports:
- "8080:8080"
- "7077:7077"
networks:
spark-network:
ipv4_address: 10.5.0.2
volumes:
- /mnt/spark-apps:/opt/spark-apps
- /mnt/spark-data:/opt/spark-data
environment:
- "SPARK_LOCAL_IP=spark-master"
spark-worker-1:
image: spark-worker:2.3.1
container_name: spark-worker-1
hostname: spark-worker-1
depends_on:
- spark-master
ports:
- "8081:8081"
env_file: ./env/spark-worker.sh
environment:
- "SPARK_LOCAL_IP=spark-worker-1"
networks:
spark-network:
ipv4_address: 10.5.0.3
volumes:
- /mnt/spark-apps:/opt/spark-apps
- /mnt/spark-data:/opt/spark-data
spark-worker-2:
image: spark-worker:2.3.1
container_name: spark-worker-2
hostname: spark-worker-2
depends_on:
- spark-master
ports:
- "8082:8081"
env_file: ./env/spark-worker.sh
environment:
- "SPARK_LOCAL_IP=spark-worker-2"
networks:
spark-network:
ipv4_address: 10.5.0.4
volumes:
- /mnt/spark-apps:/opt/spark-apps
- /mnt/spark-data:/opt/spark-data
spark-worker-3:
image: spark-worker:2.3.1
container_name: spark-worker-3
hostname: spark-worker-3
depends_on:
- spark-master
ports:
- "8083:8081"
env_file: ./env/spark-worker.sh
environment:
- "SPARK_LOCAL_IP=spark-worker-3"
networks:
spark-network:
ipv4_address: 10.5.0.5
volumes:
- /mnt/spark-apps:/opt/spark-apps
- /mnt/spark-data:/opt/spark-data
networks:
spark-network:
driver: bridge
ipam:
driver: default
config:
- subnet: 10.5.0.0/16
#Environment variables used by the spark workers
#Do not touch this unless you modify the compose master
SPARK_MASTER=spark://spark-master:7077
#Allocation Parameters
SPARK_WORKER_CORES=1
SPARK_WORKER_MEMORY=1G
SPARK_DRIVER_MEMORY=128m
SPARK_EXECUTOR_MEMORY=256m
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment