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

相关推荐
EasyDSS9 小时前
企业数字化培训升级!企业级融媒体平台EasyDSS破解跨区域内训难题,高效沉淀知识资产
大数据·媒体
leoZ2319 小时前
Git 集成实战完全指南(四):Git 冲突解决
大数据·git·elasticsearch
xlrqx10 小时前
家电清洗培训课程类别、培训方式及费用情况究竟有哪些
大数据·python
段一凡-华北理工大学10 小时前
向量数据库实战:选型、调优与落地~系列文章03:向量相似度算法全解:余弦、欧氏、内积,到底该用哪个?
大数据·数据库·人工智能·算法·机器学习·向量相似度·高炉炼铁
码上上班11 小时前
Elasticsearch课程
大数据·elasticsearch·搜索引擎
码农小白AI11 小时前
工业设备验收迈入智能审核新时代:AI报告审核通审Agent版 IACheck打造检测报告质量管控新引擎
大数据·人工智能
智圣新创0111 小时前
高校共生型学生社区生态圈搭建 核心路径与效能升级高频实操答疑
大数据·人工智能
Achou.Wang12 小时前
《从零实现cobra》手写一个 mini 版 Cobra
大数据·elasticsearch·搜索引擎
BGK11235813 小时前
基于qemu_v8+optee 4.00 平台构建 ca/ta
java·大数据·数据库
OneNobody13 小时前
Spark SQL AQE工作原理源码剖析
大数据·sql·spark