零:规划
本次计划安装三台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并配置免密互访 ,至此,准备工作完毕。
二、flink 安装
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
2.3、修改 主-flink 的各种配置文件
修改 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
2.4、分发并修改 从-flink 服务器
为简化两台"从服务器"的操作步骤,因此将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、配置文件 的整个过程就结束了。