Docker 部署 Flink 集群环境

Flink 部署笔记:

  • Ubuntu 环境下部署 Flink 集群环境
  • Docker 部署 Flink 集群环境
  • kubernetes(K8S) 部署 Flink 集群环境

下面的1、2两个方法选其一即可。

1 使用docker命令进行构建

  1. 创建网络
    docker network create flink-network
    
  2. 配置属性

    在命令行界面直接输入。

    FLINK_PROPERTIES="jobmanager.rpc.address: jobmanager"
    
  3. 启动jobmanager容器
    docker run \
    --rm \
    --name=jobmanager \
    --network flink-network \
    --publish 8081:8081 \
    --env FLINK_PROPERTIES="${FLINK_PROPERTIES}" \
    flink:1.14.2-scala_2.12 jobmanager
    
  4. 启动taskmanager容器

    可启动一个或多个。

    docker run \
    --rm \
    --name=taskmanager \
    --network flink-network \
    --env FLINK_PROPERTIES="${FLINK_PROPERTIES}" \
    flink:1.14.2-scala_2.12 taskmanager
    

2 使用docker-compose进行构建(推荐)

  1. 准备工作

    创建flink-docker文件夹,用于保存后续工作所需文件。

    (可跳过)使用1.1方法启动之后,使用下面命令复制出conf文件,后续可挂载。

    docker cp jobmanager:/opt/flink/conf /home/user/flink-docker/flink-conf/jobmanager
    docker cp taskmanager:/opt/flink/conf /home/user/flink-docker/flink-conf/taskmanager
    

    修改flink-conf.yaml文件。附录给出了示例。

  2. 安装docker-compose
    • 安装pip
      apt install python3-pip
    • 安装docker-compose
      pip install docker-compose
    • 验证安装
      docker-compose -version
  3. 创建docker-compose.yml

    在一个文件夹中,创建docker-compose.yml,写入以下内容。(如果做了第一步,则取消下面的注释。注意volumes中的目录路径。)

    version: "2.2"
    services:
      jobmanager:
        image: flink:1.14.2-scala_2.12
        ports:
          - "8081:8081"
        command: jobmanager
        # volumes: - /home/user/flink-docker/jobmanager/flink-conf.yaml:/opt/flink/conf/flink-conf.yaml
        environment:
          - |
            FLINK_PROPERTIES=
            jobmanager.rpc.address: jobmanager
    
      taskmanager:
        image: flink:1.14.2-scala_2.12
        depends_on:
          - jobmanager
        command: taskmanager
        scale: 3
        # volumes: - /home/user/flink-docker/taskmanager/flink-conf.yaml:/opt/flink/conf/flink-conf.yaml
        environment:
          - |
            FLINK_PROPERTIES=
            jobmanager.rpc.address: jobmanager
            taskmanager.numberOfTaskSlots: 3       
    
  4. 启动
    docker-compose up -d
    
  5. 终止
    docker-compose down
    

3 提交作业

访问宿主机的8081端口即可访问 web 页面,在 web 页面提交代码即可。

本文来自网络,不代表协通编程立场,如若转载,请注明出处:https://www.net2asp.com/f0b86058f0.html