是否可以在 Flink 的 Job Manager 中运行一个简单的作业?

Posted

技术标签:

【中文标题】是否可以在 Flink 的 Job Manager 中运行一个简单的作业?【英文标题】:Is it possible to run a simple job in Job Manager in Flink? 【发布时间】:2020-07-16 00:22:59 【问题描述】:

我编写了一个 Flink 作业,它从 Kafka 读取数据并写入 HIVE 的 ORC 格式的 hdfs 文件(使用 20 个执行器)。我需要运行一个简单的作业,每小时将分区插入 HIVE 表。是否可以在作业管理器中运行这个简单的分区添加作业?

【问题讨论】:

【参考方案1】:

工作经理只扮演协调/监督的角色。您必须至少有一个任务管理器。

但是,要运行一个简单的作业,您可以使用一个完全在与客户端/应用程序相同的 JVM 中运行的“迷你集群”。你想要的是LocalStreamEnvironment,由

创建
final StreamExecutionEnvironment env = StreamExecutionEnvironment.createLocalEnvironment();

或LocalEnvironment,如果您使用的是 DataSet(批处理)API:

ExecutionEnvironment env = ExecutionEnvironment.createLocalEnvironment();

【讨论】:

是否可以在流期间每小时触发一些事件,例如使用水印或其他? 我想说“是”,但我不太清楚您要做什么。这似乎与这个问题无关,所以请提出一个新问题,我们可以继续。

以上是关于是否可以在 Flink 的 Job Manager 中运行一个简单的作业?的主要内容,如果未能解决你的问题,请参考以下文章

Flink源码1-Flink 的集群和Jobmanager启动

apache flink docker-compose 运行试用

获取flink job运行状态脚本

日常Exception第二十五回:Flink启动job时报错,AbstractChannel$AnnotatedConnectException: Connection refused.....

日常Exception第二十五回:Flink启动job时报错,AbstractChannel$AnnotatedConnectException: Connection refused.....

flink on yarn之per-job方式部署超时的一种解决方法