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

相关推荐
方向研究21 分钟前
质量因子策略
大数据
科研前沿37 分钟前
多视角相机驱动的室内人员空间定位技术白皮书
大数据·人工智能·python·科技·数码相机·音视频
阡陌..2 小时前
202605新版git_2.54.0常用操作指令
大数据·git·elasticsearch
fuquxiaoguang2 小时前
Cloudera 零拷贝连接器:不复制数据,也能让 AI 实时查询 ServiceNow
大数据·人工智能·cloudera
牛奶2 小时前
1秒下单10万次,服务器是怎么扛住的?
大数据·服务器·后端
逸Y 仙X2 小时前
文章二十四:Elasticsearch查询排序应用实战e
java·大数据·数据库·elasticsearch·搜索引擎·全文检索
无忧智库3 小时前
具身智能的数据底座之战:一个大规模三维空间语义语料库的完整工程实践(WORD)
大数据·人工智能
智慧化智能化数字化方案3 小时前
新零售——详解2025年度中国零售数字化及新技术应用创新案例【附全文阅读】
大数据·零售数字化·智慧零售美妆行业·智慧零售鞋服行业·智慧零售餐饮行业·慧零售食饮行业·智慧零售商超行业
Cx330❀3 小时前
Qt 入门指南:从零搭建开发环境到第一个图形界面程序
xml·大数据·开发语言·网络·c++·人工智能·qt
互联网志4 小时前
高校科技成果转化深度融入产业发展脉络
大数据·人工智能·物联网