news 2026/10/1 9:33:34

【实时数仓(二)】flink-1.17.1集群搭建

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【实时数仓(二)】flink-1.17.1集群搭建

目录

1.flink集群搭建

(1)集群规划

(2)下载并解压安装包

① 下载安装包flink-1.17.1-bin-scala_2.12.tgz,将该jar包上传到hadoop202节点服务器的/opt/software路径上。

② 解压flink-1.17.1-bin-scala_2.12.tgz到/opt/module路径

(3)修改集群配置

① 修改flink-conf.yaml

② 修改workers文件,指定hadoop202、hadoop203和hadoop204为TaskManager

③ 修改masters文件

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

(4)将flink安装目录拷贝给另外两个节点服务器

① 拷贝flink到203和204服务器

② 修改hadoop203的 taskmanager.host

③ 修改hadoop204的 taskmanager.host

④ 配置环境变量(yarn运行模式会用到)

(5)启动集群

① 在hadoop202节点服务器上执行start-cluster.sh启动Flink集群

② 查看进程,访问web ui

2. 单作业模式(Per-Job Mode)

3.YARN运行模式(重点)

(1)相关准备和配置

① 配置环境变量


1.flink集群搭建

(1)集群规划

节点服务器

hadoop202

hadoop203hadoop204

角色

JobManager

TaskManager

TaskManager

TaskManager

(2)下载并解压安装包

Downloads | Apache FlinkApache Flink® Downloads # Apache Flink # Apache Flink® 1.20.0 是我们最新的稳定版本。Apache Flink 2.0-preview1 # Apache Flink 2.0-preview1 (asc, sha512)Apache Flink 2.0-preview1 Source Release (asc, sha512)Apache Flink 1.20.0 # Apache Flink 1.20.0 (asc, sha512)Apache Flink 1.20.0 Source Release (asc, sha512)Release Notes # Please have a look at the Release Notes for Apache Flink 1.20.0 if you plan to upgrade your Flink setup from a previous version.https://flink.apache.org/zh/downloads/

① 下载安装包flink-1.17.1-bin-scala_2.12.tgz,将该jar包上传到hadoop202节点服务器的/opt/software路径上。

② 解压flink-1.17.1-bin-scala_2.12.tgz到/opt/module路径

进入"/opt/software"目录,解压flink,

tar -zxvf flink-1.17.1-bin-scala_2.12.tgz -C /opt/module/

(3)修改集群配置

① 修改flink-conf.yaml

进入目录"/opt/module/flink-1.17.1/conf",

vim flink-conf.yaml

修改后,

# JobManager节点地址 jobmanager.rpc.address: hadoop202 jobmanager.bind-host: 0.0.0.0 rest.address: hadoop202 rest.bind-address: 0.0.0.0 # TaskManager节点地址.需要配置为当前机器名 taskmanager.bind-host: 0.0.0.0 taskmanager.host: hadoop202

② 修改workers文件,指定hadoop202、hadoop203和hadoop204为TaskManager

在目录"/opt/module/flink-1.17.1/conf",

[tjm@hadoop202 conf]$ vim workers

添加如下内容,

hadoop202 hadoop203 hadoop204

③ 修改masters文件

在目录"/opt/module/flink-1.17.1/conf",

vim masters

④ 在flink-conf.yaml文件中还可以对集群中的JobManager和TaskManager组件进行优化配置,主要配置项如下:
  1. jobmanager.memory.process.size:对JobManager进程可使用到的全部内存进行配置,包括JVM元空间和其他开销,默认为1600M,可以根据集群规模进行适当调整。
  2. taskmanager.memory.process.size:对TaskManager进程可使用到的全部内存进行配置,包括JVM元空间和其他开销,默认为1728M,可以根据集群规模进行适当调整。
  3. taskmanager.numberOfTaskSlots:对每个TaskManager能够分配的Slot数量进行配置,默认为1,可根据TaskManager所在的机器能够提供给Flink的CPU数量决定。所谓Slot就是TaskManager中具体运行一个任务所分配的计算资源。

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

(4)将flink安装目录拷贝给另外两个节点服务器

① 拷贝flink到203和204服务器
# 拷贝到203服务器 scp -r /opt/module/flink-1.17.1/ root@hadoop203:/opt/module/ # 拷贝到204服务器 scp -r /opt/module/flink-1.17.1/ root@hadoop204:/opt/module/

② 修改hadoop203的 taskmanager.host

目录"/opt/module/flink-1.17.1/conf"

vim flink-conf.yaml

修改如下内容:

#TaskManager节点地址.需要配置为当前机器名

taskmanager.host: hadoop203

③ 修改hadoop204的 taskmanager.host

目录"/opt/module/flink-1.17.1/conf"

vim flink-conf.yaml

修改如下内容:

#TaskManager节点地址.需要配置为当前机器名

taskmanager.host: hadoop204

④ 配置环境变量(yarn运行模式会用到)
vim /etc/profile.d/my_env.sh
#与flink有关 export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop export HADOOP_CLASSPATH=`hadoop classpath`

# 使环境变量生效 source /etc/profile

重写启动Hadoop集群,包括HDFS和YARN。

hadoop202重启hdfs,

# 停止hdfs stop-dfs.sh # 启动hdfs start-dfs.sh

hadoop203重启yarn,

# 停止yarn stop-yarn.sh # 启动yarn start-yarn.sh

(5)启动集群

① 在hadoop202节点服务器上执行start-cluster.sh启动Flink集群

目录"/opt/module/flink-1.17.1",

bin/start-cluster.sh

② 查看进程,访问web ui
[tjm@hadoop202 flink-1.17.1]$ jps 6306 DataNode 9988 Jps 6182 NameNode 6776 NodeManager 5435 JobHistoryServer 9901 TaskManagerRunner 9566 StandaloneSessionClusterEntrypoint

http://hadoop202:8081/

用root用户启动flink集群是正常的,估计是tjm用户的权限不够,

[tjm@hadoop202 flink-1.17.1]$ bin/stop-cluster.sh Stopping taskexecutor daemon (pid: 24832) on host hadoop202. No taskexecutor daemon (pid: 16210) is running anymore on hadoop203. No taskexecutor daemon (pid: 20565) is running anymore on hadoop204. No standalonesession daemon (pid: 24438) is running anymore on hadoop202. [tjm@hadoop202 flink-1.17.1]$ su - Password: Last login: Sun Nov 10 07:46:10 PST 2024 from 192.168.226.1 on pts/1 [root@hadoop202 ~]# cd /opt/module/flink-1.17.1/ [root@hadoop202 flink-1.17.1]# bin/start-cluster.sh Starting cluster. Starting standalonesession daemon on host hadoop202. root@hadoop202's password: Starting taskexecutor daemon on host hadoop202. root@hadoop203's password: Starting taskexecutor daemon on host hadoop203. root@hadoop204's password: Starting taskexecutor daemon on host hadoop204. [root@hadoop202 flink-1.17.1]# jps 26689 TaskManagerRunner 17073 TaskManagerRunner 12131 NodeManager 16676 StandaloneSessionClusterEntrypoint 26775 Jps 5435 JobHistoryServer 13260 NameNode 13421 DataNode

2.单作业模式(Per-Job Mode)

3.YARN运行模式(重点)

YARN上部署的过程是:客户端把Flink应用提交给Yarn的ResourceManager,Yarn的ResourceManager会向Yarn的NodeManager申请容器。在这些容器上,Flink会部署JobManager和TaskManager的实例,从而启动集群。Flink会根据运行在JobManger上的作业所需要的Slot数量动态分配TaskManager资源。

(1)相关准备和配置

在将Flink任务部署至YARN集群之前,需要确认集群是否安装有Hadoop,保证Hadoop版本至少在2.2以上,并且集群中安装有HDFS服务。

① 配置环境变量

(参考1.4.4章节)

vim /etc/profile.d/my_env.sh

增加环境变量配置如下,

HADOOP_HOME=/opt/module/hadoop-3.3.4 export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop export HADOOP_CLASSPATH=`hadoop classpath`

② 启动Hadoop集群,包括HDFS和YARN

# hadoop202运行 start-dfs.sh # hadoop203运行 start-yarn.sh
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/1 9:32:18

带有HSE组件的S32系列芯片中各子系统如何依次启动?

《S32系列芯片——Boot详解》系列——带有HSE组件的S32系列芯片中各子系统如何依次启动? 一、各子系统的重置释放顺序 二、启动流程 2.1 安装启动过程 2.2 正常启动流程 博主已开通同名公众号,通过文末或主页二维码关注博主,将为你推送最新、最细、最硬核的车载系统知识和嵌…

作者头像 李华
网站建设 2026/10/1 9:31:17

玉米田间识别数据集:1000张实拍图+COCO标注,适配YOLOv8与Mask R-CNN

简介:本资源是一套面向计算机视觉初学者与农业AI实践者的玉米识别专用数据集,适用于目标检测模型训练、COCO格式标注学习及农作物图像识别项目开发。压缩包共1005个文件,包含1000张真实场景下的玉米田间图像(JPG格式)&…

作者头像 李华
网站建设 2026/10/1 9:30:24

Node.js 与 npm 版本绑定机制深度解析

1. 为什么“node版本对应的npm版本”不是查表题,而是一道动态依赖关系考题你打开终端输入node -v和npm -v,发现版本号对不上——Node.js 是 v18.19.0,npm 却是 v10.2.4;或者刚用 nvm 切到 Node.js v20.12.0,一跑npm in…

作者头像 李华
网站建设 2026/10/1 9:30:06

EndNote导入IEEE文献全攻略:RIS格式、排错与PDF关联

EndNote用了这么多年,我越来越觉得这软件本身并不难,真正卡住大部分人的永远是“文献到底怎么进去”这一步——尤其是从网页上随手抓来的文章、出版社数据库里的PDF,还有IEEE Xplore这种海外学术数据库里的条目。你搜“EndNote 导入 IEEE”&a…

作者头像 李华
网站建设 2026/10/1 9:29:29

LangGraph4j多智能体Supervisor架构实践与踩坑

前一阵子在做一个 Java 后端团队的技术调研报告生成助手,需求很朴素:用户丢一个技术主题,它负责查资料、抽数据、写报告。试了两周单智能体方案,终态效果总是不稳定——不是资料查全了但报告结构乱,就是报告漂亮但数据…

作者头像 李华