services: minio: image: minio/minio:latest container_name: minio environment: MINIO_ROOT_USER: minioadmin MINIO_ROOT_PASSWORD: minioadmin command: server /data --console-address ":9001" ports: - "9000:9000" - "9001:9001" volumes: - minio-data:/data healthcheck: test: ["CMD", "mc", "ready", "local"] interval: 5s timeout: 5s retries: 5 minio-init: image: minio/mc:latest depends_on: minio: condition: service_healthy entrypoint: > /bin/sh -c " mc alias set myminio http://minio:9000 minioadmin minioadmin; mc mb myminio/hudi-bucket --ignore-existing; mc mb myminio/warehouse --ignore-existing; exit 0; " mariadb: image: mariadb:10.6.14 environment: MYSQL_ROOT_PASSWORD: rootpassword volumes: - ./sql/mariadb.cnf:/etc/mysql/mariadb.conf.d/mariadb.cnf - ./sql/init.sql:/docker-entrypoint-initdb.d/init.sql ports: - "3306:3306" jobmanager: build: . container_name: jobmanager depends_on: minio: condition: service_healthy environment: - AWS_ACCESS_KEY_ID=minioadmin - AWS_SECRET_ACCESS_KEY=minioadmin - AWS_ENDPOINT=http://minio:9000 - AWS_REGION=us-east-1 - HADOOP_CONF_DIR=/opt/hadoop/etc/hadoop - | FLINK_PROPERTIES= jobmanager.rpc.address: jobmanager s3.endpoint: http://minio:9000 s3.path-style-access: true s3.access-key: minioadmin s3.secret-key: minioadmin fs.s3a.endpoint: http://minio:9000 fs.s3a.access.key: minioadmin fs.s3a.secret.key: minioadmin fs.s3a.path.style.access: true fs.s3a.connection.ssl.enabled: false fs.s3a.impl: org.apache.hadoop.fs.s3a.S3AFileSystem ports: - "8081:8081" command: jobmanager volumes: - ./jobs/job.sql:/opt/flink/job.sql - ./conf/core-site.xml:/opt/hadoop/etc/hadoop/core-site.xml taskmanager: build: . environment: - AWS_ACCESS_KEY_ID=minioadmin - AWS_SECRET_ACCESS_KEY=minioadmin - AWS_ENDPOINT=http://minio:9000 - AWS_REGION=us-east-1 - HADOOP_CONF_DIR=/opt/hadoop/etc/hadoop - | FLINK_PROPERTIES= jobmanager.rpc.address: jobmanager s3.endpoint: http://minio:9000 s3.path-style-access: true s3.access-key: minioadmin s3.secret-key: minioadmin fs.s3a.endpoint: http://minio:9000 fs.s3a.access.key: minioadmin fs.s3a.secret.key: minioadmin fs.s3a.path.style.access: true fs.s3a.connection.ssl.enabled: false fs.s3a.impl: org.apache.hadoop.fs.s3a.S3AFileSystem depends_on: - jobmanager - minio command: taskmanager volumes: - ./conf/core-site.xml:/opt/hadoop/etc/hadoop/core-site.xml deploy: replicas: 2 volumes: minio-data: