aboutsummaryrefslogtreecommitdiff
path: root/test/java/spark/docker-compose.yml
diff options
context:
space:
mode:
Diffstat (limited to 'test/java/spark/docker-compose.yml')
-rw-r--r--test/java/spark/docker-compose.yml100
1 files changed, 100 insertions, 0 deletions
diff --git a/test/java/spark/docker-compose.yml b/test/java/spark/docker-compose.yml
new file mode 100644
index 000000000..ed8757b88
--- /dev/null
+++ b/test/java/spark/docker-compose.yml
@@ -0,0 +1,100 @@
+services:
+ seaweedfs-master:
+ build:
+ context: ../../../docker
+ dockerfile: Dockerfile.local
+ image: seaweedfs:local
+ container_name: seaweedfs-spark-master
+ ports:
+ - "9333:9333"
+ - "19333:19333"
+ command: "master -ip=seaweedfs-master -ip.bind=0.0.0.0 -port=9333 -port.grpc=19333 -volumeSizeLimitMB=50 -defaultReplication=000 -peers=none"
+ networks:
+ - seaweedfs-spark
+ healthcheck:
+ test: ["CMD", "wget", "--spider", "-q", "http://localhost:9333/cluster/status"]
+ interval: 10s
+ timeout: 5s
+ retries: 3
+ start_period: 10s
+
+ seaweedfs-volume:
+ build:
+ context: ../../../docker
+ dockerfile: Dockerfile.local
+ image: seaweedfs:local
+ container_name: seaweedfs-spark-volume
+ ports:
+ - "8080:8080"
+ - "18080:18080"
+ command: "volume -mserver=seaweedfs-master:9333 -ip=seaweedfs-volume -ip.bind=0.0.0.0 -port=8080 -port.grpc=18080 -publicUrl=seaweedfs-volume:8080 -max=100 -dir=/data -preStopSeconds=1"
+ volumes:
+ - seaweedfs-volume-data:/data
+ depends_on:
+ seaweedfs-master:
+ condition: service_healthy
+ networks:
+ - seaweedfs-spark
+ healthcheck:
+ test: ["CMD", "wget", "--spider", "-q", "http://localhost:8080/status"]
+ interval: 10s
+ timeout: 5s
+ retries: 3
+ start_period: 10s
+
+ seaweedfs-filer:
+ build:
+ context: ../../../docker
+ dockerfile: Dockerfile.local
+ image: seaweedfs:local
+ container_name: seaweedfs-spark-filer
+ ports:
+ - "8888:8888"
+ - "18888:18888"
+ command: "filer -master=seaweedfs-master:9333 -ip=seaweedfs-filer -ip.bind=0.0.0.0 -port=8888 -port.grpc=18888"
+ depends_on:
+ seaweedfs-master:
+ condition: service_healthy
+ seaweedfs-volume:
+ condition: service_healthy
+ networks:
+ - seaweedfs-spark
+ healthcheck:
+ test: ["CMD", "wget", "--spider", "-q", "http://localhost:8888/"]
+ interval: 10s
+ timeout: 5s
+ retries: 3
+ start_period: 15s
+
+ spark-tests:
+ image: maven:3.9-eclipse-temurin-17
+ container_name: seaweedfs-spark-tests
+ volumes:
+ - .:/workspace
+ - ./.m2:/root/.m2
+ working_dir: /workspace
+ environment:
+ - SEAWEEDFS_TEST_ENABLED=true
+ - SEAWEEDFS_FILER_HOST=seaweedfs-filer
+ - SEAWEEDFS_FILER_PORT=8888
+ - SEAWEEDFS_FILER_GRPC_PORT=18888
+ - HADOOP_HOME=/tmp
+ # Disable Java DNS caching to ensure fresh DNS lookups
+ - MAVEN_OPTS=-Dsun.net.inetaddr.ttl=0 -Dnetworkaddress.cache.ttl=0
+ - SPARK_SUBMIT_OPTS=-Dfs.seaweedfs.impl.disable.cache=true
+ command: sh -c "sleep 30 && mvn clean test"
+ depends_on:
+ seaweedfs-filer:
+ condition: service_healthy
+ networks:
+ - seaweedfs-spark
+ mem_limit: 4g
+ cpus: 2
+
+networks:
+ seaweedfs-spark:
+ driver: bridge
+
+volumes:
+ seaweedfs-volume-data:
+