docker - 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 中输入一些单词时,没有发生错误。
解决方案
在容器化部署中,Flink 的日志被发送到 stdout/stderr 而不是日志文件,并且基础设施可用于日志收集。使用 docker-compose,您可以使用docker-compose logs -f
跟踪所有日志、docker-compose logs -f [SERVICE]
跟踪一项服务的日志等。
由于日志没有写入日志文件,Flink 的 Web UI 无法显示它们。
对于它的价值,在 dev@flink.apache.org 邮件列表上有一些关于将日志写入 stdout/stderr 和日志文件的讨论。
推荐阅读
- python - 弹性搜索使用python使用时间戳排序
- android - 每 10k 会话的崩溃 Firebase 指标:我可以看到超过“过去 30 分钟”的信息吗?
- r - 如何生成带有分类子集的计数表?
- python - 是否有可能无需下载 .info.json 就可以访问 youtube_dl(Python 包,而不是命令行工具)中的视频描述?
- bevy - Bevy 游戏引擎中父 ImageBundles 的正确方法是什么,这样子图像不会改变父图像的大小?
- node.js - 向架构添加新字段后如何更新旧文档?
- flutter - Flutter-保存拖拽的widget的位置,以及我可以发送什么样的格式给API?
- java - 无法初始化 JPA EntityManagerFactory:使用 @OneToMany 或 @ManyToMany 以未映射的类为目标
- azure - 找不到资源 - 认知端点没有响应
- python - 窗口在 PyQt5 中打开后会自动关闭?