Skip to content
Snippets Groups Projects
docker-compose.yml 2.07 KiB
version: '2'
services:
  zookeeper:
    image: confluentinc/cp-zookeeper
    expose:
      - "2181"
    environment:
      ZOOKEEPER_CLIENT_PORT: 2181
  kafka:
    image: wurstmeister/kafka
    expose:
      - "9092"
    #ports:
    #  - 19092:19092
    environment:
      KAFKA_LISTENERS: PLAINTEXT://:9092,CONNECTIONS_FROM_HOST://:19092
      KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://kafka:9092,CONNECTIONS_FROM_HOST://localhost:19092
      KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: PLAINTEXT:PLAINTEXT,CONNECTIONS_FROM_HOST:PLAINTEXT
      KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
      KAFKA_ZOOKEEPER_CONNECTION_TIMEOUT_MS: 30000
      KAFKA_CREATE_TOPICS: "input:3:1,output:3:1,configuration:3:1,aggregation-feedback:3:1"
  schema-registry:
    image: confluentinc/cp-schema-registry:5.3.1
    depends_on:
      - zookeeper
      - kafka
    expose:
      - "8081"
    #ports:
    #  - 8081:8081
    environment:
      SCHEMA_REGISTRY_HOST_NAME: schema-registry
      SCHEMA_REGISTRY_KAFKASTORE_CONNECTION_URL: 'zookeeper:2181'
  load-generator: 
    image: ghcr.io/cau-se/theodolite-uc1-workload-generator:latest
    depends_on:
      - schema-registry
      - kafka
    environment:
      BOOTSTRAP_SERVER: uc-wg:5701
      PORT: 5701
      KAFKA_BOOTSTRAP_SERVERS: kafka:9092
      SCHEMA_REGISTRY_URL: http://schema-registry:8081
      NUM_SENSORS: 10
  benchmark-jobmanager:
    image: ghcr.io/cau-se/theodolite-uc1-flink:latest
    ports:
      - "8080:8081"
    command: standalone-job --job-classname theodolite.uc1.application.HistoryServiceFlinkJob
    environment:
      - KAFKA_BOOTSTRAP_SERVERS=kafka:9092
      - SCHEMA_REGISTRY_URL=http://schema-registry:8081
      - |
        FLINK_PROPERTIES=
        jobmanager.rpc.address: benchmark-jobmanager
        parallelism.default: 1
    depends_on:
      - schema-registry
      - kafka
  benchmark-taskmanager:
    image: ghcr.io/cau-se/theodolite-uc1-flink:latest
    command: taskmanager
    environment:
      - |
        FLINK_PROPERTIES=
        jobmanager.rpc.address: benchmark-jobmanager
    depends_on:
      - schema-registry
      - kafka