06.flink使用使用flink的web ui界面启动上面的demo程序
Flink Web UI 提交作业通常是指在 Session / Standalone 模式下通过 Submit New Job 页面上传 JAR 包。但在 YARN 上,Application 模式 官方推荐做法是先用命令行 flink run-application 把作业提交到 YARN,作业拉起后,再通过 YARN ResourceManager UI 的 Tracking URL 跳转到 Flink Web UI 进行监控和管理。
下面分别给出两种操作路径,你可以根据场景选择。
一、方式 A:Session 模式下纯 Web UI 提交(最直观)
适合开发测试、想直接在浏览器里点完就跑的场景。
1. 启动 YARN Session 并拿到 Web UI 地址
export HADOOP_CLASSPATH=$(hadoop classpath)
./bin/yarn-session.sh -jm 1024m -tm 2048m -s 2 -nm "flink-session" -d
启动成功后,命令行末尾会打印 Flink Web UI 的访问地址(通常是 http://<am-host>:8081),也可以从 YARN ResourceManager UI(http://<rm>:8088)的 Application 详情页点击 Tracking UI → ApplicationMaster 跳转进去。
2. 在 Web UI 上传 JAR 并提交
打开 Flink Web UI 后:
- 左侧点击 "Submit New Job"
- 点击 "+ Add New" 按钮,选择你本地的
BatchWordCount-1.0-SNAPSHOT.jar上传 - 上传完成后,在 JAR 列表中点击该 JAR 包,弹出配置表单,填写:
- Entry Class:
BatchWordCount(你的主类全限定名) - Program Arguments:
hdfs:///user/hadoop/input.txt hdfs:///user/hadoop/output - Parallelism:
1(WordCount 示例可设为 1,方便查看结果)
- Entry Class:
- 点击 "Submit",作业提交到集群
3. 查看运行结果
- 提交后自动跳转到 "Running Jobs" 页面,可看到作业状态
- 点击作业 ID 可查看 DAG 图、各算子处理数据量、Checkpoint 状态等
- 作业完成后,到 HDFS 查看输出:
hdfs dfs -cat hdfs:///user/hadoop/output/*
二、方式 B:Application 模式 + HDFS(生产推荐,结合 Web UI 监控)
严格意义上的 YARN Application 模式,提交动作必须通过命令行完成(因为 main() 要在 JobManager 上执行),但提交后完全可以通过 Web UI 进行监控、取消等运维操作。
1. 前置:把 Flink lib 和作业 JAR 传到 HDFS
# Flink 依赖(一次性)
hdfs dfs -mkdir -p hdfs:///flink/lib
hdfs dfs -put $FLINK_HOME/lib/*.jar hdfs:///flink/lib/
# 作业 JAR
hdfs dfs -mkdir -p hdfs:///flink/jars
hdfs dfs -put BatchWordCount-1.0-SNAPSHOT.jar hdfs:///flink/jars/
2. 命令行提交 Application(关键步骤)
./bin/flink run-application \
-t yarn-application \
-d \
-Djobmanager.memory.process.size=1024m \
-Dtaskmanager.memory.process.size=2048m \
-Dtaskmanager.numberOfTaskSlots=2 \
-Dyarn.application.name="batch-wordcount-demo" \
-Dyarn.provided.lib.dirs="hdfs:///flink/lib" \
hdfs:///flink/jars/BatchWordCount-1.0-SNAPSHOT.jar \
hdfs:///user/hadoop/input.txt \
hdfs:///user/hadoop/output
提交后返回 Application ID: application_XXXXXXXXX_XXXX。
3. 通过 Web UI 监控(核心)
虽然提交用的是命令行,但作业起来后,Web UI 是你最主要的运维界面:
Step 1:进入 Flink Web UI
- 浏览器访问 YARN ResourceManager:
http://<rm>:8088 - 在 Applications 列表中找到
batch-wordcount-demo - 点击该 Application 的 Application ID 进入详情
- 点击 Tracking URL 列的 ApplicationMaster 链接
- 自动跳转到 Flink Web UI(地址形如
http://<am-host>:8081)
Step 2:在 Flink Web UI 中查看作业
- Overview 页面:显示作业名称、运行时长、状态(RUNNING/FINISHED)、可用 Task Slot 数量
- Running Jobs:点击作业 ID 进入详情页
- DAG 图:直观展示算子拓扑(Source → FlatMap → GroupBy/Sum → Sink)
- SubTasks:查看每个算子的并行度、处理数据量、反压情况
- Checkpoints:查看 checkpoint 成功率、耗时、存储位置
- Metrics:查看吞吐量、延迟等实时指标
Step 3:通过 Web UI 管理作业
- Cancel Job:在 Running Jobs 页面点击作业,进入详情后点击 "Cancel Job" 可停止作业(Application 模式下取消作业,整个 Flink 集群会自动关闭)
- 也可以命令行取消:
./bin/flink cancel -t yarn-application -Dyarn.application.id=application_XXXXXXXXX_XXXX
4. 查看输出结果
hdfs dfs -cat hdfs:///user/hadoop/output/*
# 输出示例:
# (flink,2)
# (hello,2)
# (of,1)
# (world,2)
三、两种方式对比与选择
|
维度 |
方式 A:Session + Web UI 提交 |
方式 B:Application + Web UI 监控 |
|---|---|---|
|
提交入口 |
浏览器 Upload JAR |
命令行 |
|
Web UI 作用 |
提交 + 监控 |
仅监控和运维 |
|
资源隔离 |
弱(Session 共享) |
强(独立集群) |
|
客户端开销 |
中(需上传 JAR 到 JobManager) |
极小( |
|
适用场景 |
开发测试、快速验证 |
生产环境推荐 |
💡 如果你希望在 Web UI 上"一键提交",那就用 方式 A(Session 模式);如果你追求生产级的隔离性和轻量化提交,就用 方式 B(Application 模式),Web UI 在这里承担监控和运维的角色。
四、常见坑点提醒
- Web UI 端口访问不到:YARN 上 Flink Web UI 的端口是动态分配的,必须通过 YARN ResourceManager UI 的 Tracking URL 跳转,不能直接猜
:8081 - JAR 上传失败:Session 模式下通过 Web UI 上传的 JAR 大小有限制(默认 100MB),超大 JAR 请用 Application 模式 + HDFS 路径
- Entry Class 填错:Web UI 上传 JAR 后,如果 JAR 中只有一个主类,UI 会自动填充;如果有多个,需要手动指定全限定名(如
com.example.BatchWordCount) - HDFS 路径权限:确保 Flink 的 YARN 用户有读写 HDFS 路径的权限,否则作业会报
Permission Denied
按照方式 B 操作,你既能享受 Application 模式的生产级隔离,又能利用 Web UI 强大的可视化监控能力,这是当前 Flink on YARN 生产部署的最佳实践组合。
posted on 2026-08-19 14:32 luzhouxiaoshuai 阅读(7) 评论(0) 收藏 举报
浙公网安备 33010602011771号