首页 > 解决方案 > Flink WebUI 中没有 Logs 和 Stdout

问题描述

最近我用Docker-compose启动了一个flink集群。这是我的文件:

version: "2.1"
services:
  jobmanager:
    image: flink:1.9.2-scala_2.11
    expose:
      - "6123"
    ports:
      - "8081:8081"
    command: jobmanager
    environment:
      - JOB_MANAGER_RPC_ADDRESS=jobmanager

  taskmanager:
    image: flink:1.9.2-scala_2.11
    expose:
      - "6121"
      - "6122"
    depends_on:
      - jobmanager
    command: taskmanager
    links:
      - "jobmanager:jobmanager"
    environment:
      - JOB_MANAGER_RPC_ADDRESS=jobmanager

我从“docker-compose up -d --scale taskmanager=3”开始分配 3 个任务管理器。我已经通过了 WordCount 演示,当我在 bash 中输入一些单词时,没有发生错误。

但是,我只是看不到来自 WebUI 的日志和标准输出 网页界面

标签: dockerapache-flink

解决方案


在容器化部署中,Flink 的日志被发送到 stdout/stderr 而不是日志文件,并且基础设施可用于日志收集。使用 docker-compose,您可以使用docker-compose logs -f跟踪所有日志、docker-compose logs -f [SERVICE]跟踪一项服务的日志等。

由于日志没有写入日志文件,Flink 的 Web UI 无法显示它们。

对于它的价值,在 dev@flink.apache.org 邮件列表上有一些关于将日志写入 stdout/stderr 和日志文件的讨论。


推荐阅读