docker-compose 部署 Flink集群

  • docker- compose.yaml
version: "3"

services:
  jobmanager:
    image: flink:latest
    container_name: flink-jobmanager
    command: jobmanager
    expose:
      - "6123"
    ports:
      - "8081:8081"
    volumes:
      - ./lib/flink-sql-connector-mysql-cdc-2.3.0.jar:/opt/flink/lib/flink-sql-connector-mysql-cdc-2.3.0.jar
      - ./lib/flink-connector-jdbc_2.12-1.14.6.jar:/opt/flink/lib/flink-connector-jdbc_2.12-1.14.6.jar
      - ./lib/mysql-connector-java-8.0.30.jar:/opt/flink/lib/mysql-connector-java-8.0.30.jar
    environment:
      - TZ:Asia/Shanghai
      - |
        FLINK_PROPERTIES=
        jobmanager.rpc.address: jobmanager
  taskmanager:
    image: flink:latest
    command: taskmanager
    expose:
      - "6121"
      - "6122"
    scale: 2
    depends_on:
       - jobmanager
    volumes:
      - ./lib/flink-sql-connector-mysql-cdc-2.3.0.jar:/opt/flink/lib/flink-sql-connector-mysql-cdc-2.3.0.jar
      - ./lib/flink-connector-jdbc_2.12-1.14.6.jar:/opt/flink/lib/flink-connector-jdbc_2.12-1.14.6.jar
      - ./lib/mysql-connector-java-8.0.30.jar:/opt/flink/lib/mysql-connector-java-8.0.30.jar
    environment:
      - TZ:Asia/Shanghai
      - |
        FLINK_PROPERTIES=
        jobmanager.rpc.address: jobmanager
        taskmanager.numberOfTaskSlots: 50
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个使用docker-compose部署Flink集群并映射数据目录和暴露端口的示例: ``` version: '3' services: jobmanager: image: flink:1.13.0-scala_2.11 expose: - "6123" ports: - "8081:8081" command: jobmanager volumes: - ./data:/data environment: - JOB_MANAGER_RPC_ADDRESS=jobmanager - FLINK_PROPERTIES=jobmanager.rpc.address: jobmanager taskmanager: image: flink:1.13.0-scala_2.11 expose: - "6121" - "6122" depends_on: - jobmanager command: taskmanager volumes: - ./data:/data environment: - JOB_MANAGER_RPC_ADDRESS=jobmanager - FLINK_PROPERTIES=jobmanager.rpc.address: jobmanager ``` 在上面的示例中,我们使用Flink 1.13.0的官方Docker镜像。我们定义了两个服务:`jobmanager`和`taskmanager`。`jobmanager`服务暴露了Flink的默认RPC端口6123,并将Web UI端口8081映射到主机的8081端口,以便我们可以在Web浏览器中访问它。`taskmanager`服务暴露了两个端口:6121和6122。 我们还将`./data`目录映射到容器内部的`/data`目录中,以便我们可以在主机上访问Flink的数据目录。最后,我们在`jobmanager`和`taskmanager`服务的环境变量中设置了`JOB_MANAGER_RPC_ADDRESS`和`FLINK_PROPERTIES`,以确保它们正确连接到Flink集群。 要启动Flink集群,请使用以下命令: ``` docker-compose up -d ``` 这将启动`jobmanager`和`taskmanager`服务,并将它们连接成一个Flink集群。要停止Flink集群,请使用以下命令: ``` docker-compose down ``` 这将停止并删除所有Flink容器和网络。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值