Flink集群运行模式--Standalone运行模式

Flink集群运行模式--Standalone运行模式

  • 一、实验目的
  • 二、实验内容
  • 三、实验原理
  • 四、实验环境
  • 五、实验步骤
    • [5.1 部署模式](#5.1 部署模式)
      • [5.1.1 会话模式(Session Mode)](#5.1.1 会话模式(Session Mode))
      • [5.1.2 单作业模式(Per-Job Mode)](#5.1.2 单作业模式(Per-Job Mode))
      • [5.1.3 应用模式(Application Mode)](#5.1.3 应用模式(Application Mode))
    • [5.2 Standalone运行模式](#5.2 Standalone运行模式)
    • [5.2.1 会话模式部署](#5.2.1 会话模式部署)
    • [5.2.2 单作业模式部署](#5.2.2 单作业模式部署)
    • [5.2.3 应用模式部署](#5.2.3 应用模式部署)

⚠申明: 未经许可,禁止以任何形式转载,若要引用,请标注链接地址。 全文共计2391字,阅读大概需要3分钟

🌈更多学习内容, 欢迎👏关注👀【文末】我的个人微信公众号:不懂开发的程序猿

个人网站:https://jerry-jy.co/

一、实验目的

掌握Standalone集群搭建的过程。

掌握Flink的三种部署模式

二、实验内容

1、搭建Flink集群--Standalone运行模式

2、集群的启动,停止、提交作业

三、实验原理

独立模式是独立运行的,不依赖任何外部的资源管理平台;

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

四、实验环境

硬件:x86_64 CentOS 7.5 服务器

软件:JDK1.8,Flink-1.17.1,Hadoop-3.3.3,IntelliJ Idea-2022

五、实验步骤

开始实验之前需要先了解Flink集群部署的三种模式

5.1 部署模式

在一些应用场景中,对于集群资源分配和占用的方式,可能会有特定的需求。Flink为各种场景提供了不同的部署模式,主要有以下三种:会话模式(Session Mode)、单作业模式(Per-Job Mode)、应用模式(Application Mode)。

它们的区别主要在于:集群的生命周期 以及资源的分配方式 ;以及应用的main方法到底在哪里执行------客户端(Client)还是JobManager。

5.1.1 会话模式(Session Mode)

5.1.2 单作业模式(Per-Job Mode)

5.1.3 应用模式(Application Mode)



这里我们所讲到的部署模式,相对是比较抽象的概念。实际应用时,一般需要和资源管理平台结合起来,选择特定的模式来分配资源、部署应用。

5.2 Standalone运行模式

5.2.1 会话模式部署

我们在上一节用的就是Standalone集群的会话模式部署。

提前启动集群,并通过Web页面客户端提交任务(可以多个任务,但是集群资源固定)。



5.2.2 单作业模式部署

Flink的Standalone集群并不支持单作业模式部署。因为单作业模式需要借助一些资源管理平台。

5.2.3 应用模式部署

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



具体步骤如下:

(0)环境准备。在hadoop102中执行以下命令启动netcat。

java 复制代码
[root@hadoop102 flink-1.17.1]$ nc -lk 7777

(1)进入到Flink的安装路径下,将应用程序的jar包放到lib/目录下。

java 复制代码
[root@hadoop102 flink-1.17.1]$ mv FlinkTutorial-1.0-SNAPSHOT.jar lib/

(2)执行以下命令,启动JobManager。

java 复制代码
[root@hadoop102 flink-1.17.1]$ bin/standalone-job.sh start --job-classname com.jerry.wordcount.WordCountUnboundedDemo

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

(3)同样是使用bin目录下的脚本,启动TaskManager。

java 复制代码
[root@hadoop102 flink-1.17.1]$ bin/taskmanager.sh start

(4)在hadoop102上模拟发送单词数据。

java 复制代码
[root@hadoop102 ~]$ nc -lk 7777
java 复制代码
hello java
hello flink

(5)在hadoop102:8081地址中观察输出数据

(6)如果希望停掉集群,同样可以使用脚本,命令如下。

java 复制代码
[root@hadoop102 flink-1.17.1]$ bin/taskmanager.sh stop
[root@hadoop102 flink-1.17.1]$ bin/standalone-job.sh stop

--end--

相关推荐
码明6 分钟前
4.查看、删除数据库
数据库·oracle
mit6.82432 分钟前
[Data Pipeline] MinIO存储(数据湖) | 数据层 Bronze/Silver/Gold
数据库·python
艾立泰智能包装35 分钟前
艾立泰智能物流载具管理方案
大数据·人工智能
TDengine (老段)36 分钟前
TDengine 集群超能力:超越 InfluxDB 的水平扩展与开源优势
大数据·数据库·开源·时序数据库·iot·tdengine·涛思数据
火龙谷2 小时前
【hadoop】搭建考试环境(单机)
大数据·hadoop·分布式
泡芙萝莉酱2 小时前
2011-2023年 省级-数字普惠金融指数-社科经管实证数据
大数据·人工智能·深度学习·数据挖掘·数据分析·数据统计·实证数据
刘俊辉个人博客2 小时前
端口安全配置示例
运维·网络·数据库·计算机网络·安全·网络安全
lyh13443 小时前
Zapier构建工作流自动化
数据库·oracle·自动化
莱茵不哈哈3 小时前
MySQL八股文
数据库·mysql
远方16093 小时前
47-Oracle ASH报告解读
数据库·sql·oracle·database