美文网首页
Apache Flink——集群部署模式案例

Apache Flink——集群部署模式案例

作者: 小波同学 | 来源:发表于2022-06-17 00:06 被阅读0次

前言

本文重点是Flink on Yarn模式的部署,但在写Yarn 模式部署之前,说一下 独立模式(Standalone)模式

独立模式(Standalone)

独立模式是独立运行的,不依赖任何外部的资源管理平台;当然独立也是有代价的:如果资源不足,或者出现故障,没有自动扩展或重分配资源的保证,必须手动处理。所以独立模式一般只用在开发测试或作业非常少的场景下。

会话模式部署

可以发现,独立模式的特点是不依赖外部资源管理平台,而会话模式的特点是先启动集群、后提交作业。所以,在https://www.jianshu.com/p/4acf1df75088中用的就是独立模式(Standalone)的会话模式部署。

单作业模式部署

Flink 本身无法直接以单作业方式启动集群,一般需要借助一些资源管理平台。所以 Flink 的独立(Standalone)集群并不支持单作业模式部署。

一、应用模式部署

应用模式下不会提前创建集群,所以不能调用 start-cluster.sh 脚本。我们可以使用同样在bin 目录下的 standalone-job.sh 来创建一个 JobManager。
具体步骤如下:

  • 1、进入到 Flink 的安装路径下,将应用程序的 jar 包放到 lib/目录下。
[root@hadoop102 flink-1.13.0]# cp Flink_1.13-1.0-SNAPSHOT.jar ./lib/
  • 2、执行以下命令,启动 JobManager。
[root@hadoop102 flink-1.13.0]#./bin/standalone-job.sh start --job-classname com.hao.wc.StreamWordCount

这里直接指定作业入口类,脚本会到 lib 目录扫描所有的 jar 包。

  • 3、同样是使用 bin 目录下的脚本,启动 TaskManager。
[root@hadoop103 flink-1.13.0]# ./bin/taskmanager.sh start
[root@hadoop104 flink-1.13.0]# ./bin/taskmanager.sh start
  • 4、如果希望停掉集群,同样可以使用脚本,命令如下。
[root@hadoop102 flink-1.13.0]# ./bin/standalone-job.sh stop
[root@hadoop103 flink-1.13.0]# ./bin/taskmanager.sh stop
[root@hadoop104 flink-1.13.0]# ./bin/taskmanager.sh stop

二、Yarn模式

整体来说,YARN 上部署的过程是:客户端把 Flink 应用提交给 Yarn 的 ResourceManager,Yarn 的 ResourceManager 会向 Yarn 的 NodeManager 申请容器。在这些容器上,Flink 会部署JobManager 和 TaskManager 的实例,从而启动集群。Flink 会根据运行在 JobManger 上的作业所需要的 Slot 数量动态分配 TaskManager 资源。

相关准备和配置

配置Hadoop,添加Hadoop环境变量,下载Hadoop相关组件 jar 包 https://flink.apache.org/zh/downloads.html

将Flink 安装包 复制名称 为 flink-yarn

[root@hadoop102 module]# cp -r flink-1.13.0 flink-yarn

将 flink-shaded-hadoop-2-uber-2.8.3-10.0.jar 上传到 flink-yarn 中的 lib目录下
Hadoop3.1.3 安装教学
启动hadoop集群

[root@hadoop102 flink-yarn]# start-dfs.sh
[root@hadoop103 ~]# start-yarn.sh

三、会话模式部署

YARN 的会话模式与独立集群略有不同,需要首先申请一个 YARN 会话(YARN session)来启动 Flink 集群。具体步骤如下:

  • 1、启动集群
    • 启动 hadoop 集群(HDFS, YARN)。
    • 执行脚本命令向 YARN 集群申请资源,开启一个 YARN 会话,启动 Flink 集群。
[root@hadoop102 flink-yarn]# bin/yarn-session.sh -nm test

可用参数解读:

  • -d:分离模式,如果你不想让 Flink YARN 客户端一直前台运行,可以使用这个参数,即使关掉当前对话窗口,YARN session 也可以后台运行。
  • -jm(–jobManagerMemory):配置 JobManager 所需内存,默认单位 MB。
  • -nm(–name):配置在 YARN UI 界面上显示的任务名。
  • -qu(–queue):指定 YARN 队列名。
  • -tm(–taskManager):配置每个 TaskManager 所使用内存。

注意:Flink1.11.0 版本不再使用-n 参数和-s 参数分别指定 TaskManager 数量和 slot 数量,YARN 会按照需求动态分配 TaskManager 和 slot。所以从这个意义上讲,YARN 的会话模式也不会把集群资源固定,同样是动态分配的。YARN Session 启动之后会给出一个 web UI 地址以及一个 YARN application ID,

命令结尾如下所示:


提交作业

[root@hadoop102 flink-yarn]# bin/flink run \
-c com.hao.wc.StreamWordCount ./Flink_1.13-1.0-SNAPSHOT.jar

在Yarn中查看 ,点击


跳转到的 Web UI 页面如下 :


四、单作业模式部署

在 YARN 环境中,由于有了外部平台做资源调度,所以我们也可以直接向 YARN 提交一个单独的作业,从而启动一个 Flink 集群。

4.1 执行命令提交作业。

[root@hadoop102 flink-yarn]# bin/flink run \
-d \
-t yarn-per-job \
-c com.hao.wc.StreamWordCount ./Flink_1.13-1.0-SNAPSHOT.jar

命令行结尾如下


4.2 在 YARN 的 ResourceManager 界面查看执行情况

点击可以打开 Flink Web UI 页面进行监控


五、应用模式部署

[root@hadoop102 flink-yarn]# bin/flink run-application \
-t yarn-application \
-c com.hao.wc.StreamWordCount ./Flink_1.13-1.0-SNAPSHOT.jar

在 YARN 的 ResourceManager 界面查看执行情况


点击可以打开 Flink Web UI 页面进行监控


参考:
https://blog.csdn.net/weixin_45417821/article/details/124042789

相关文章

  • Apache Flink——集群部署模式案例

    前言 本文重点是Flink on Yarn模式的部署,但在写Yarn 模式部署之前,说一下 独立模式(Standa...

  • Apache Flink——集群部署模式

    前言 在一些应用场景中,对于集群资源分配和占用的方式,可能会有特定的需求。Flink 为各种场景提供了不同的部署模...

  • Flink 操作场景

    Apache Flink 可以使用多用方式在不同的环境中部署,相对于部署环境的多样性而言,Flink集群的基本构建...

  • Flink学习笔记(1):Word Count

    本文是学习Apache Flink的开始,记录了Flink Local模式的部署,并运行了Word Count例子...

  • Apache Flink——快速部署集群

    前言 需要提到 Flink 中的几个关键组件:客户端(Client)、作业管理器(JobManager)和任务管理...

  • flink大纲知识

    flink集群部署flink反压flink拓扑架构flink的内存管理

  • Flink 集群与部署

    部署一个 Flink 集群,首先需要根据自己的实际情况选择适合自己的部署模式和部署平台 1.1 部署模式主要根据以...

  • Flink集群部署模式

    根据集群的生命周期、资源隔离方式和应用程序的main()方法执行位置(client或者JobManager)可以将...

  • Flink 部署模式

    本文仅对Flink集群的部署模式作简单探讨,并未对如何部署(如环境变量,节点互信,hadoop集成配置)作说明,相...

  • Redis集群部署

    Redis集群部署 Redis集群有多种部署模式,包括主从模式、哨兵模式、集群模式 主从模式   主从模式可以是一...

网友评论

      本文标题:Apache Flink——集群部署模式案例

      本文链接:https://www.haomeiwen.com/subject/dhdcvrtx.html