OpenEuler 22.03 安装 flink-1.17.2 集群

零:规划

本次计划安装三台OpenEuler 22.03 版本操作系统的服务器,用于搭建 flink 集群。这里使用flink1.17.2 的原因,是便于后续与springboot的整合

服务器名 IP地址 作用 其他应用
flink01 192.168.159.133 jdk11、flink-1.17.2
flink02 192.168.159.134 从1 jdk11、flink-1.17.2
flink03 192.168.159.135 从2 jdk11、flink-1.17.2

一、准备工作

操作系统安装步骤与 Centos7 近似,在此不再赘述,可以参考我之前的帖子 centos7 安装。可以先安装一台服务器,需要注意的是,安装的过程中,IP 最好设置为静态IP,同时安装完毕后关闭防火墙关闭selinux

另外两台flink 服务器可以使用 VMWare 克隆 功能,根据第一台复制得出。

克隆完毕后,需要为三台服务器安装jdk并配置免密互访 ,至此,准备工作完毕。

2.1、下载

可以从 Apache Flink 官网选择一个期望的 flink 的稳定版本下载。如下图所示。

bash 复制代码
[root@flink01 ~]# wget https://archive.apache.org/dist/flink/flink-1.17.2/flink-1.17.2-bin-scala_2.12.tgz
2.2、解压并配置环境变量
bash 复制代码
## 解压缩
[root@flink01 local]# tar -vxf flink-1.17.2-bin-scala_2.12.tgz

## 配置环境变量
[root@flink01 local]# vim /etc/profile

在profile 文件的最下面,追加flink 的配置信息,我的flink安装在 /usr/local/ 下,诸位可根据自己的情况修改 flink的真实安装路径。如下所示

bash 复制代码
export FLINK_HOME=/usr/local/flink-1.17.2
export PATH=$PATH:$FLINK_HOME/bin

配置完毕刷新,验证

bash 复制代码
## 刷新配置
[root@flink01 local]# source /etc/profile

## 验证。如果能看到自己的flink 版本,说明安装成功。
[root@flink01 local]# flink -v

修改 flink-conf.yaml 文件

bash 复制代码
## 修改 conf.yaml 文件
[root@flink01 local]# vim /usr/local/flink-1.17.2/conf/flink-conf.yaml

## 为方便阅读,我把conf.yaml 中的关键内容集中放在下面,诸位做对应修改即可
jobmanager.rpc.address: flink01
jobmanager.bind-host: 0.0.0.0
taskmanager.bind-host: 0.0.0.0
taskmanager.host: flink01
rest.address: flink01
rest.bind-address: 0.0.0.0

修改 workers 文件

bash 复制代码
## 修改workers 配置文件
[root@flink01 local]# vim /usr/local/flink-1.17.2/conf/workers

## 删掉原数据,将flink集群的三台服务器名称录入其中
flink01
flink02
flink03

修改 masters 文件

bash 复制代码
## 修改workers 配置文件
[root@flink01 local]# vim /usr/local/flink-1.17.2/conf/masters 

## 将 主flink 服务器名称及端口  写入其中
flink01:8081

为简化两台"从服务器"的操作步骤,因此将01服务器已配置好的 flink 文件夹发送到02和03服务器复用即可。下面举例 由flink01向flink02 进行分发操作,01向03的操作与之相同。

bash 复制代码
## 下面操作在 flink01 服务器上进行
## 首先进入到flink文件夹的同级目录
[root@flink01 local]# cd /usr/local/

## 发送flink 文件夹到从服务器
[root@flink01 local]# scp -r flink-1.17.2/ flink02:/usr/

下面以02 服务器举例 "从服务器" 的 flink-conf.yaml文件如何修改,03的操作与之相同。

bash 复制代码
## 下面操作在 flink02 服务器上进行
## 修改 conf.yaml 文件
[root@flink02 local]# vim /usr/local/flink-1.17.2/conf/flink-conf.yaml

## 从服务器只需修改  taskmanager.host 这个属性的值为当前服务器名称即可。
taskmanager.host: flink02

从服务器仅需修改这一个配置文件即可。此外需要参照上面所述,为两台从服务器配置flink 的环境变量,此处不再赘述。

三、验证

3.1、启动集群

bash 复制代码
## 启动集群
[root@flink01 local]# ./usr/local/flink-1.17.2/bin/start-cluster.sh

## 验证
[root@flink01 local]# jps

## 如果flink01 中存在 TaskManagerRunner 和 StandaloneSessionClusterEntrypoint 进程,
## 说明启动成功

3.2、执行job

找一个大名鼎鼎 WordCount job来执行一下看看吧

bash 复制代码
## 进入flink 样例job目录
[root@flink01 local]# cd /usr/local/flink-1.17.2/examples/streaming

## 执行 WordCount 任务
[root@flink01 local]# flink run WordCount.jar

执行结果如下图所示

可以从 flink主节点的页面(192.168.159.133:8081)查看到 已完成的job 信息。

至此,从安装服务器到设置免密、安装flink、配置文件 的整个过程就结束了。

相关推荐
阿里云大数据AI技术1 小时前
官宣|Apache Fluss 毕业成为顶级项目,湖流一体开启 Agentic Lake 全面实时化时代
人工智能·flink
Blossom i10 小时前
分布式编程实验二:Flink安装与编程实践(头歌云客)
大数据·分布式·flink
渣渣盟1 天前
当反压问题解决后,如何进一步优化 Flink 作业的 Checkpoint 性能,让大状态作业也能稳定运行?
大数据·flink
渣渣盟1 天前
当 Redis 写入不再是瓶颈后,Flink 任务的反压可能来自哪里?如何系统性地定位和解决 Flink 反压问题?
数据库·redis·flink
渣渣盟1 天前
当 Redis 集群发生主从切换(Failover)时,Flink 任务会崩溃吗?如何利用 Sentinel 实现高可用?
redis·flink·sentinel
渣渣盟1 天前
当 Checkpoint 稳定运行后,如何进一步优化 Flink 作业的启动和恢复速度,让大状态作业的扩缩容从“小时级”降到“分钟级”?
大数据·flink
ZCBUS实时计算2 天前
金融证券实时数仓建设实践:轻量化实时计算平台落地,实现交易数据端到端秒级处理
大数据·数据库·数据仓库·金融·flink·dba·etl
让头发掉下来3 天前
Flink SQL 中两个频繁变化 Topic 的 Join 行为分析
大数据·数据库·sql·flink
头茬韭菜3 天前
Apache Fluss 项目深度分析与技术文档系列计划
flink·spark·realtime·fluss
渣渣盟4 天前
Flink 单流转换算子深度解析:从 Map 到 Reduce 的流式处理基石
大数据·flink