docker compose部署flink集群

本次部署2个jobmanager和3个taskmanager

一、部署zookeeper集群

flink使用zookeeper用作高可用

部署集群参考:docker compose部署zookeeper集群-CSDN博客

二、创建目录及配置文件

创建timezone文件,内容填写Asia/Shanghai

手动创建目录:data、conf、tmp、log

conf文件夹内容如下:

需要为每个节点单独准备配置文件,log4j和logback配置可以共用

这些配置文件,可以从官网下载flink包解压后获取,或启动flink容器后docker cp复制出来

逐个修改flink-conf-xxx.yaml配置

以flink-conf-jobmanager1.yaml举例:配置如下

其他配置文件,根据各配置项的备注描述进行对应修改

三、创建docker compose文件

vim docker-compose.yaml

networks:
  net:
    external: true

services:
  jobmanager1:
    restart: always
    image: apache/flink:1.16.3
    container_name: jobmanager1
    hostname: jobmanager1
    ports:
     - '8081:8081'
    volumes:
      - /etc/localtime:/etc/localtime
      - /home/sumengnan/apache/flink/timezone:/etc/timezone
      - /home/sumengnan/apache/flink/conf/flink-conf-jobmanager1.yaml:/opt/flink/conf/flink-conf.yaml
      - /home/sumengnan/apache/flink/conf/log4j.properties:/opt/flink/conf/log4j.properties
      - /home/sumengnan/apache/flink/conf/logback.xml:/opt/flink/conf/logback.xml
      - /home/sumengnan/apache/flink/conf/log4j-console.properties:/opt/flink/conf/log4j-console.properties
      - /home/sumengnan/apache/flink/conf/logback-console.xml:/opt/flink/conf/logback-console.xml
      - /home/sumengnan/apache/flink/data:/opt/flink/data
      - /home/sumengnan/apache/flink/log:/opt/flink/log
      - /home/sumengnan/apache/flink/tmp:/opt/flink/tmp
    networks:
      - net
  jobmanager2:
    restart: always
    image: apache/flink:1.16.3
    container_name: jobmanager2
    hostname: jobmanager2
    ports:
     - '8082:8081'
    volumes:
      - /etc/localtime:/etc/localtime
      - /home/sumengnan/apache/flink/timezone:/etc/timezone
      - /home/sumengnan/apache/flink/conf/flink-conf-jobmanager2.yaml:/opt/flink/conf/flink-conf.yaml
      - /home/sumengnan/apache/flink/conf/log4j.properties:/opt/flink/conf/log4j.properties
      - /home/sumengnan/apache/flink/conf/logback.xml:/opt/flink/conf/logback.xml
      - /home/sumengnan/apache/flink/conf/log4j-console.properties:/opt/flink/conf/log4j-console.properties
      - /home/sumengnan/apache/flink/conf/logback-console.xml:/opt/flink/conf/logback-console.xml
      - /home/sumengnan/apache/flink/data:/opt/flink/data
      - /home/sumengnan/apache/flink/log:/opt/flink/log
      - /home/sumengnan/apache/flink/tmp:/opt/flink/tmp
    networks:
      - net
    depenes_on:
      - jobmanager1


  taskmanager1:
    restart: always
    image: apache/flink:1.16.3
    container_name: taskmanager1
    hostname: taskmanager1
    command: taskmanager
    volumes:
      - /etc/localtime:/etc/localtime
      - /home/sumengnan/apache/flink/timezone:/etc/timezone
      - /home/sumengnan/apache/flink/conf/flink-conf-taskmanager1.yaml:/opt/flink/conf/flink-conf.yaml
      - /home/sumengnan/apache/flink/conf/log4j.properties:/opt/flink/conf/log4j.properties
      - /home/sumengnan/apache/flink/conf/logback.xml:/opt/flink/conf/logback.xml
      - /home/sumengnan/apache/flink/conf/log4j-console.properties:/opt/flink/conf/log4j-console.properties
      - /home/sumengnan/apache/flink/conf/logback-console.xml:/opt/flink/conf/logback-console.xml
      - /home/sumengnan/apache/flink/data:/opt/flink/data
      - /home/sumengnan/apache/flink/log:/opt/flink/log
      - /home/sumengnan/apache/flink/tmp:/opt/flink/tmp
    networks:
      - net
    depenes_on:
      - jobmanager1
      - jobmanager2
  taskmanager2:
    restart: always
    image: apache/flink:1.16.3
    container_name: taskmanager2
    hostname: taskmanager2
    command: taskmanager
    volumes:
      - /etc/localtime:/etc/localtime
      - /home/sumengnan/apache/flink/timezone:/etc/timezone
      - /home/sumengnan/apache/flink/conf/flink-conf-taskmanager2.yaml:/opt/flink/conf/flink-conf.yaml
      - /home/sumengnan/apache/flink/conf/log4j.properties:/opt/flink/conf/log4j.properties
      - /home/sumengnan/apache/flink/conf/logback.xml:/opt/flink/conf/logback.xml
      - /home/sumengnan/apache/flink/conf/log4j-console.properties:/opt/flink/conf/log4j-console.properties
      - /home/sumengnan/apache/flink/conf/logback-console.xml:/opt/flink/conf/logback-console.xml
      - /home/sumengnan/apache/flink/data:/opt/flink/data
      - /home/sumengnan/apache/flink/log:/opt/flink/log
      - /home/sumengnan/apache/flink/tmp:/opt/flink/tmp
    networks:
      - net
    depenes_on:
      - jobmanager1
      - jobmanager2
  taskmanager3:
    restart: always
    image: apache/flink:1.16.3
    container_name: taskmanager3
    hostname: taskmanager3
    command: taskmanager
    volumes:
      - /etc/localtime:/etc/localtime
      - /home/sumengnan/apache/flink/timezone:/etc/timezone
      - /home/sumengnan/apache/flink/conf/flink-conf-taskmanager3.yaml:/opt/flink/conf/flink-conf.yaml
      - /home/sumengnan/apache/flink/conf/log4j.properties:/opt/flink/conf/log4j.properties
      - /home/sumengnan/apache/flink/conf/logback.xml:/opt/flink/conf/logback.xml
      - /home/sumengnan/apache/flink/conf/log4j-console.properties:/opt/flink/conf/log4j-console.properties
      - /home/sumengnan/apache/flink/conf/logback-console.xml:/opt/flink/conf/logback-console.xml
      - /home/sumengnan/apache/flink/data:/opt/flink/data
      - /home/sumengnan/apache/flink/log:/opt/flink/log
      - /home/sumengnan/apache/flink/tmp:/opt/flink/tmp
    networks:
      - net
    depenes_on:
      - jobmanager1
      - jobmanager2


 

 四、启动

五、访问

访问8081或8082jobmanager

 可以看出jobmanager与3个taskmanager工作正常

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值