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、配置文件 的整个过程就结束了。

相关推荐
abigalexy17 小时前
Flink核心疑难问题、踩坑盲点-汇总
大数据·flink·big data·bigdata
Sayai17 小时前
Kafka 跨数据中心日志同步实战:MirrorMaker 2 选型对比 + Flink 中继任务落地(双中心互备与消费者组隔离避坑)
大数据·运维·分布式·flink·kafka·消息队列·高可用
渣渣盟2 天前
Flink 状态管理深度剖析:从 KeyedState 到 RocksDB,状态如何存储、恢复与扩缩容
android·大数据·flink
@小匠3 天前
Flink + Iceberg 批量失败复盘:一次超时如何变成 Hive Metastore 锁泄漏
大数据·hive·flink
Sayai3 天前
Flink 日志解析任务性能优化实战:正则/Grok 预编译、Guava 缓存权重陷阱与 ES 写入隔离
java·大数据·性能优化·flink·实时计算
渣渣盟3 天前
Flink SQL 流批一体:从 SQL 到执行计划,优化器如何工作?
大数据·sql·flink
Flynn Liang6 天前
物联网时序数据乱序问题全链路治理:从设备到存储的五层实战(附 Flink/Kafka/IoTDB 配置级代码)
flink·kafka·iot·iotdb·emqx·乱序·时序数据
欢醉6 天前
Flink实时同步Oracle到StarRocks的几个踩坑经验分享
starrocks·oracle·flink
用户3610588626126 天前
Flink 注册Slot源码深度剖析:从TaskManager注册到Slot状态机的完整链路
大数据·flink
阿里云大数据AI技术7 天前
实时看、持续记、及时说,央视体育携手阿里云 Flink 打造大型赛事实时 AI 解说Agent
人工智能·flink