services:
db:
build: ./db
image: postgres:15
hostname: db
environment:
- POSTGRES_USER=postgres
- POSTGRES_PASSWORD=postgres
- POSTGRES_DB=postgres
ports:
- '5432:5432'
spark:
build: ./spark
image: bitnami/spark:3.4.0
hostname: master
environment:
- SPARK_MODE=master
- SPARK_RPC_AUTHENTICATION_ENABLED=no
- SPARK_RPC_ENCRYPTION_ENABLED=no
- SPARK_LOCAL_STORAGE_ENCRYPTION_ENABLED=no
- SPARK_SSL_ENABLED=no
- HTTP_PROXY=http://localhost:7897
- HTTPS_PROXY=http://localhost:7897
- NO_PROXY=localhost,127.0.0.1,spark-master,spark-worker
volumes:
- ~/docker/spark/share:/opt/share
ports:
- '8080:8080'
- '4040:4040'
- '8088:8088'
- '7077:7077'
- '8042:8042'
- '9870:9870'
- '19888:19888'
spark-worker-1:
build: ./spark-worker-1
image: bitnami/spark:3.4.0
hostname: worker1
environment:
- SPARK_MODE=worker
- SPARK_MASTER_URL=spark://master: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
volumes:
- ~/docker/spark/share:/opt/share
ports:
- '8081:8081'
spark-worker-2:
build: ./spark-worker-2
image: bitnami/spark:3.4.0
hostname: worker2
environment:
- SPARK_MODE=worker
- SPARK_MASTER_URL=spark://master: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
volumes:
- ~/docker/spark/share:/opt/share
ports:
- '8082:8081'