天天看點

一鍵啟動Debezium+Kafka+Flink編寫配置檔案docker-compose.yml将kafka對外開放,友善調試啟動

編寫配置檔案docker-compose.yml

version: "3.3"
services:
  database:
    image: debezium/postgres:11
    container_name: database
    ports:
      - "5432:5432"
    environment:
      - POSTGRES_PASSWORD=mima

  zookeeper:
    image: debezium/zookeeper:0.10
    container_name: zookeeper
    ports:
      - "2181:2181"
      - "2888:2888"
      - "3888:3888"
  kafka:
    image: debezium/kafka:0.10
    container_name: kafka
    ports:
      - "9092:9092"
    depends_on:
      - zookeeper
    links:
      - "zookeeper:zookeeper"
    environment:
      - BROKER_ID=1
      - ZOOKEEPER_CONNECT=zookeeper
      - ADVERTISED_HOST_NAME=kafka

  connector:
    image: debezium/connect:0.10
    container_name: connector
    expose:
      - "8083"
    depends_on:
      - kafka
      - database
    links:
      - "zookeeper:zookeeper"
      - "kafka:kafka"
      - "database:database"
    environment:
      - GROUP_ID=1
      - CONFIG_STORAGE_TOPIC=my-connect-configs
      - OFFSET_STORAGE_TOPIC=my-connect-offsets
  connector-config:
    image: curlimages/curl
    depends_on:
      - connector
    links:
      - "connector:connector"
    command: ["curl -i -X POST -H \"Accept:application/json\" -H \"Content-Type:application/json\" connector:8083/connectors/ -d '{ \"name\": \"connector\", \"config\": { \"connector.class\": \"io.debezium.connector.postgresql.PostgresConnector\", \"tasks.max\": \"1\", \"database.hostname\": \"database\", \"database.port\": \"5432\", \"database.user\": \"postgres\", \"database.password\": \"mima\",\"database.dbnam
e\":\"postgres\", \"database.server.name\": \"postgres\"} }'"]

  jobmanager:
    image: flink
    expose:
      - "6123"
    ports:
      - "8081:8081"
    command: jobmanager
    environment:
      - JOB_MANAGER_RPC_ADDRESS=jobmanager
  taskmanager:
    image: flink
    expose:
      - "6121"
      - "6122"
    depends_on:
      - jobmanager
    command: taskmanager
    links:
      - "jobmanager:jobmanager"
      - "zookeeper:zookeeper"
      - "kafka:kafka"
    environment:
      - JOB_MANAGER_RPC_ADDRESS=jobmanager

           

将kafka對外開放,友善調試

sed -i 's/ADVERTISED_HOST_NAME=kafka/ADVERTISED_HOST_NAME='$(ip a|grep 192.168|awk '{print $2}'|awk -F / '{print $1}')'/g' docker-compose.yml
           

其中192.168是根據自己的網絡環境修改

啟動

docker-compose up
           

繼續閱讀