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 集群和任务进行监控管理, 如图所示。

相关推荐
涛思数据(TDengine)12 分钟前
从工业本体到 AI 原生:TDengine 出席 2026 QCon 分享工业数据基础设施路径
大数据·数据库·人工智能·tdengine·工业
Gu_WenYun1 小时前
从主题定价到订单定价:机器人基金的产业链观察
大数据·人工智能·金融
其实防守也摸鱼1 小时前
信创安全竞赛知识总结与题库
大数据·网络·人工智能·算法·安全·php
刀笔财经1 小时前
新时达的选择:先造血,再谈利润
大数据
Bode_20022 小时前
精益制造推行成熟度与核心量化评估体系
大数据·人工智能
超级新零售4 小时前
AI 零售软件是什么?从库存提醒到智能调货的系统分工
大数据·人工智能·零售
sun153690275725 小时前
基坑边坡监测:振弦式土压力计选型、安装埋设与数据采集方案
大数据·物联网·自动化
数字新视界6 小时前
机房动环监控系统在提升数据中心能效与安全中的应用探索
大数据·服务器·数据库·动环监控系统·动力与环境监控系统
roman_日积跬步-终至千里6 小时前
零售与数仓(四):指标定义——从业务问题到可信计算
大数据·零售
AntsData6 小时前
用 12K+ 条亚马逊评论信号,定位机械键盘下一版该改什么
java·大数据·计算机外设