티스토리 뷰

728x90
version: "3.9"
services:
  zookeeper:
    platform: linux/x86_64
    image: wurstmeister/zookeeper
    container_name: ads-zookeeper
    restart: always
    ports:
      - 2181:2181
    networks:
      ads-net:
        ipv4_address: 172.16.240.17

  kafka:
    platform: linux/x86_64
    image: confluentinc/cp-kafka
    container_name: ads-kafka
    restart: always
    depends_on:
      - zookeeper
    ports:
      - 9092:9092
    environment:
      KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
      KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: PLAINTEXT:PLAINTEXT,PLAINTEXT_HOST:PLAINTEXT
      KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://ads-kafka:29092,PLAINTEXT_HOST://localhost:9092
      KAFKA_AUTO_CREATE_TOPICS_ENABLE: true
      KAFKA_NUM_PARTITIONS: 1
      KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1
      KAFKA_TRANSACTION_STATE_LOG_REPLICATION_FACTOR: 1
      KAFKA_TRANSACTION_STATE_LOG_MIN_ISR: 1
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
    networks:
      ads-net:
        ipv4_address: 172.16.240.18

  schema-registry:
    platform: linux/x86_64
    image: confluentinc/cp-schema-registry
    container_name: ads-schema-registry
    restart: always
    depends_on:
      - zookeeper
      - kafka
    environment:
      SCHEMA_REGISTRY_KAFKASTORE_BOOTSTRAP_SERVERS: PLAINTEXT://localhost:9092
      SCHEMA_REGISTRY_HOST_NAME: schema-registry
      SCHEMA_REGISTRY_LISTENERS: http://0.0.0.0:8085
      SCHEMA_REGISTRY_LOG4J_ROOT_LOGLEVEL: INFO
    ports:
      - 8085:8085
    networks:
      ads-net:
        ipv4_address: 172.16.240.19
    links:
      - kafka
    extra_hosts:
      - localhost:172.16.240.18

  akhq:
    image: tchiotludo/akhq
    container_name: ads-akhq
    restart: always
    environment:
      AKHQ_CONFIGURATION: |
        akhq:
          connections:
            docker-kafka:
              properties:
                bootstrap.servers: localhost:9092
              schema-registry:
                url: http://schema-registry:8085
    ports:
      - 9999:8080
    depends_on:
      - zookeeper
      - kafka
      - schema-registry
    networks:
      ads-net:
        ipv4_address: 172.16.240.16
    links:
      - kafka
      - schema-registry
    extra_hosts:
      - localhost:172.16.240.18
      - schema-registry:172.16.240.19

  mysql:
    build:
      context: mysql
      dockerfile: mysql.Dockerfile
    container_name: ads-mysql
    restart: always
    environment:
      LC_ALL: ko_KR.UTF-8
      MYSQL_ROOT_PASSWORD: password
    command:
      - --character-set-server=utf8
      - --collation-server=utf8_general_ci
    ports:
      - 3306:3306
    networks:
      ads-net:
        ipv4_address: 172.16.240.10

  redis:
    image: redis:latest
    container_name: ads-redis
    ports:
      - 6379:6379
    networks:
      ads-net:
        ipv4_address: 172.16.240.12

  jobmanager:
    image: flink:latest
    container_name: ads-jobmanager
    ports:
      - 8081:8081
    command: jobmanager
    environment:
      - |
        FLINK_PROPERTIES=
        jobmanager.rpc.address: jobmanager
    networks:
      ads-net:
        ipv4_address: 172.16.240.20

  taskmanager:
    image: flink:latest
    container_name: ads-taskmanager
    depends_on:
      - jobmanager
    command: taskmanager
    scale: 1
    environment:
      - |
        FLINK_PROPERTIES=
        jobmanager.rpc.address: jobmanager
        taskmanager.numberOfTaskSlots: 5
    networks:
      ads-net:
        ipv4_address: 172.16.240.21

networks:
  ads-net:
    ipam:
      driver: default
      config:
        - subnet: 172.16.240.0/24
FROM mysql/mysql-server:5.7

WORKDIR /docker-entrypoint-initdb.d

COPY mysql.sql .

RUN chmod -R 775 /docker-entrypoint-initdb.d
CREATE DATABASE IF NOT EXISTS db;

https://stackoverflow.com/questions/70085088/flink-on-docker-to-consume-data-from-kafka-on-docker

 

Flink (on docker) to consume data from Kafka (on docker)

I have Flink (task manager and job manager) and Kafka running as docker images on my mac. I have created a Flink job and deployed it. The job uses FlinkKafkaConsumer and FlinkKafkaProducer and should

stackoverflow.com

 

728x90
댓글