flink run-application \ -d \ -t yarn-application \ 使用这种方式启动 怎么写启动命令呢
时间: 2025-09-03 07:22:03 AIGC 浏览: 20
使用 `flink run-application` 命令启动 Flink 作业是一种 **Application Mode(应用模式)** 的运行方式,它与传统的 Session Mode 和 Per-Job Mode 不同,每个作业都会启动一个独立的 Flink 集群,适用于多租户环境和资源隔离要求较高的场景。
你提到的是使用如下命令启动:
```bash
flink run-application \
-d \
-t yarn-application \
```
我们来详细说明如何在 **YARN 上使用 Application Mode 启动 Flink 作业**,并给出完整的启动命令和参数说明。
---
## ✅ 一、完整启动命令示例
```bash
./bin/flink run-application \
-t yarn-application \
-Djobmanager.memory.process.size=2048m \
-Dtaskmanager.memory.process.size=10240m \
-Dyarn.application.name=FlinkApp \
-Dyarn.ship-files=file:///path/to/config.conf,file:///path/to/other.jar \
-Dparallelism.default=36 \
-Dstate.checkpoints.dir=file:///path/to/checkpoints \
-Dstate.savepoints.dir=file:///path/to/savepoints \
-Dstate.backend=filesystem \
-d \
--class com.example.MyFlinkJob \
file:///path/to/your-flink-job.jar
```
---
## 📌 二、参数说明
| 参数 | 说明 | 示例 |
|------|------|------|
| `-t yarn-application` | 指定运行时目标平台为 YARN,并使用 Application Mode | 固定值 |
| `-D<config>` | 动态配置参数,等价于 `flink-conf.yaml` 中的配置项 | `-Dtaskmanager.memory.process.size=10240m` |
| `--class` | 指定主类(入口类) | `com.example.MyFlinkJob` |
| `file:///<path-to-jar>` | 本地或远程的 JAR 包路径 | `file:///opt/jars/myjob.jar` |
| `-d` | 后台运行(detached mode) | 可选 |
| `-Dyarn.application.name` | 设置 YARN 上的应用名称 | `FlinkApp` |
| `-Dyarn.ship-files` | 指定需要上传到 YARN 的本地文件(如配置、依赖) | `file:///path/to/config.conf` |
| `-Dparallelism.default` | 设置默认并行度 | `36` |
| `-Dstate.*` | Checkpoint/Savepoint 相关设置 | `state.checkpoints.dir=file:///path/to/checkpoints` |
---
## 🧠 三、运行原理说明
- **Application Mode** 下,Flink 会为每一个作业启动一个专属的 Flink 集群(即一个 YARN Application)。
- 每个作业都有自己的 JobManager 和 TaskManager。
- 适用于多用户、多作业的生产环境,避免作业之间互相影响。
---
## ✅ 四、如何查看运行状态
你可以通过 YARN Web UI 查看作业状态:
- 默认地址:`http://<yarn-resourcemanager>:8088`
也可以使用 Flink CLI 查看作业状态:
```bash
./bin/flink list -t yarn-application -Dyarn.application.name=FlinkApp
```
或者取消作业:
```bash
./bin/flink cancel -t yarn-application -Dyarn.application.name=FlinkApp <job-id>
```
---
## 🧠 五、总结
| 特性 | Application Mode |
|------|------------------|
| 每个作业一个集群 | ✅ |
| 资源隔离 | ✅ |
| 适合场景 | 多租户、生产环境 |
| 启动方式 | `flink run-application` |
| 支持平台 | YARN、Kubernetes |
---
阅读全文
相关推荐


















