Flink standalone集群部署配置

文章目录


简介

Flink独立模式(Standalone)是部署 Flink 最基本也是最简单的方式:所需要的所有 Flink 组件, 都只是操作系统上运行的一个 JVM 进程。独立模式是独立运行的, 不依赖任何外部的资源管理平台; 当然独立也是有代价的: 如果资源不足, 或者出现故障, 没有自动扩展或重分配资源的保证, 必须手动处理。所以独立模式 一般只用在开发测试或作业非常少的场景下。

软件依赖

Flink 运行在所有类 UNIX 环境下,例如 Linux,Mac OS X 和 Cygwin (Windows),集群由一个 master 节点以及一个或多个 worker 节点构成。在配置系统之前,请确保在每个节点上安装有以下软件:

Java 1.8.x 或更高版本,

ssh (必须运行 sshd 以执行用于管理 Flink 各组件的脚本)

如果集群不满足软件要求,那么你需要安装/更新这些软件。

使集群中所有节点使用免密码 SSH 以及拥有相同的目录结构可以让你使用脚本来控制一切。

本文所使用的操作系统是Centos7

部署方案

Flink 是典型的 Master-Slave 架构的分布式数据处理框架, 其中 Master 角色对应着 JobManager,Slave 角色则对应 TaskManager。我们对三台节点服务器的角色分配如下所示。

节点 角色
flink65 jobmanager
flink66 taskmanager
flink67 taskmanager

二、安装

1.下载并解压

官网下载地址:https://flink.apache.org/zh/downloads/

选择flink-1.16.1

在flink65、flink66、flink67上执行

cd /usr/local

tar -zxvf flink-1.16.1.tar.gz

2.ssh免密登录

ssh-keygen

ssh-copy-id -i ~/.ssh/id_rsa.pub root@flink65

ssh-copy-id -i ~/.ssh/id_rsa.pub root@flink66

ssh-copy-id -i ~/.ssh/id_rsa.pub root@flink67

3.修改配置文件

  • 在flink65 jobmanager上修改flink-conf.yaml

    jobmanager.rpc.address: flink65

  • 修改masters文件

    flink65:8081

  • 修改 workers 文件, 将另外两台节点服务器添加为本 Flink 集群的 TaskManager 节点

    flink66

    flink67

  • 在flink66、flink67 taskmanager上修改flink-conf.yaml

    jobmanager.rpc.address: flink65

    taskmanager.host: flink66或flink67

  • 另外, 在 flink-conf.yaml 文件中还可以对集群中的 JobManager 和 TaskManager 组件 进行优化配置, 主要配置项如下:

  • ​​jobmanager.memory.process.size​​:对 JobManager 进程可使用到的全部内存进行配置, 包括 JVM 元空间和其他开销,默认为 1600M,可以根据集群规模进行适当调整。

  • ​​​​taskmanager.memory.process.size​​:对 TaskManager 进程可使用到的全部内存进行配置, 包括 JVM 元空间和其他开销,默认为 1600M,可以根据集群规模进行适当调整。

  • ​​​​taskmanager.numberOfTaskSlots​​:对每个 TaskManager 能够分配的 Slot 数量进行配置, 默认为 1,可根据 TaskManager 所在的机器能够提供给 Flink 的 CPU 数量决定。所谓 Slot 就是TaskManager 中具体运行一个任务所分配的计算资源。

    ​​parallelism.default​​:Flink 任务执行的默认并行度, 优先级低于代码中进行的并行度配 置和任务提交时使用参数指定的并行度数量。

3.启动集群

bash 复制代码
#在flink65 节点中,启动Flink集群
[root@flink65 ~]# cd /usr/local/flink-1.16.1/bin
[root@flink65 bin]# ./start-cluster.sh
Starting cluster.
Starting standalonesession daemon on host flink65. 
Starting taskexecutor daemon on host flink66. 
Starting taskexecutor daemon on host flink67.

查看进程情况

bash 复制代码
[root@flink65 flink-1.16.1]$ jps
13859 Jps
13782 StandaloneSessionClusterEntrypoint
[root@flink66 flink-1.16.1]$ jps
12215 Jps
12124 TaskManagerRunner
[root@flink67 flink-1.16.1]$ jps
11602 TaskManagerRunner
11694 Jps

4.访问 Web UI

启动成功后, 同样可以访问​​​http://flink65:8081​​​对 flink 集群和任务进行监控管理, 如图所示。

相关推荐
沪漂阿龙1 小时前
面试题详解:检索链路设计全攻略——RAG 检索架构、查询理解、多路召回、混合检索、Rerank、上下文构造与评估闭环
大数据·人工智能·架构
金融小师妹1 小时前
基于AI通胀预期模型与美元流动性监测框架的黄金6周新低行分析:美元五连涨周期下贵金属定价机制重构研究
大数据·人工智能·重构·逻辑回归·线性回归
智慧医养结合软件开源2 小时前
智慧养老系统医生管理模块:专业赋能,筑牢老人诊疗安全防线
大数据·人工智能·安全·生活
身如柳絮随风扬3 小时前
Git 核心操作:rebase 与 merge 的区别,以及分支管理最佳实践
大数据·git
多年小白4 小时前
兆易创新分析
大数据·人工智能·ai·金融·区块链
财迅通Ai5 小时前
海立股份:公司旗下海立特冷“人体降温系统”入选市级先进技术推荐目录
大数据·人工智能·海立股份
captain_AIouo5 小时前
Captain AI以视频运营破局!助Ozon商家抢占流量红利
大数据·人工智能·经验分享·aigc·音视频
TDengine (老段)5 小时前
TDengine 一条 SQL 从客户端到执行完成的全链路
大数据·数据库·sql·物联网·时序数据库·tdengine·涛思数据
2601_957786776 小时前
深度解析:星链引擎全域智能营销矩阵系统的技术架构与实践
大数据
夏贰四7 小时前
数据转换分哪些应用类型?数据转换如何做好规范管控?
大数据·数据库·数据转换