OpenEuler 22.03 安装 flink-1.17.2 集群

news/2024/12/21 9:25:52/

零:规划

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

服务器名IP地址作用其他应用
flink01192.168.159.133jdk11、flink-1.17.2
flink02192.168.159.134从1jdk11、flink-1.17.2
flink03192.168.159.135从2jdk11、flink-1.17.2

一、准备工作

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

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

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

二、flink 安装

        2.1、下载

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

[root@flink01 ~]# wget https://archive.apache.org/dist/flink/flink-1.17.2/flink-1.17.2-bin-scala_2.12.tgz
        2.2、解压并配置环境变量
## 解压缩
[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的真实安装路径。如下所示

export FLINK_HOME=/usr/local/flink-1.17.2
export PATH=$PATH:$FLINK_HOME/bin

        配置完毕刷新,验证

## 刷新配置
[root@flink01 local]# source /etc/profile## 验证。如果能看到自己的flink 版本,说明安装成功。
[root@flink01 local]# flink -v
        2.3、修改 主-flink  的各种配置文件

        修改 flink-conf.yaml 文件

## 修改 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 文件

## 修改workers 配置文件
[root@flink01 local]# vim /usr/local/flink-1.17.2/conf/workers## 删掉原数据,将flink集群的三台服务器名称录入其中
flink01
flink02
flink03

         修改 masters 文件

## 修改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的操作与之相同。

## 下面操作在 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的操作与之相同。

## 下面操作在 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、启动集群

## 启动集群
[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来执行一下看看吧

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


http://www.ppmy.cn/news/1556891.html

相关文章

Mybatis分页插件的使用问题记录

项目中配置的分页插件依赖为 <dependency><groupId>com.github.pagehelper</groupId><artifactId>pagehelper</artifactId><version>5.1.7</version></dependency>之前的项目代码编写分页的方式为&#xff0c;通过传入的条件…

RCNN系列是如何逐步改善的

1、R-CNN的缺点&#xff1a; 1&#xff09;计算效率低下&#xff1a;RCNN需要为每一个候选框都提取特征&#xff0c;会导致大量重复的工作&#xff0c;因为候选框是原始图片的一部分&#xff0c;肯定是存在交集的。2&#xff09;需要大量的磁盘空间&#xff1a;在训练阶段&…

基于Spring Boot的雅苑小区管理系统

一、系统背景与意义 随着信息化技术的快速发展&#xff0c;传统的小区物业管理方式已经难以满足现代居民对于高效、便捷服务的需求。因此&#xff0c;开发一款基于Spring Boot的小区管理系统显得尤为重要。该系统旨在通过信息化手段&#xff0c;实现小区物业管理的智能化、自动…

麒麟操作系统服务架构保姆级教程(三)NGINX中间件

如果你想拥有你从未拥有过的东西&#xff0c;那么你必须去做你从未做过的事情 想要在网页上访问到代码那么就需要用到应用服务类中间件&#xff0c;国外的有Nginx&#xff0c;Tomcat等&#xff0c;国内的有金蝶web&#xff0c;东方通的服务中间件&#xff08;Tongweb&#xff0…

Docker基础命令实战

问题&#xff1a;Error response from daemon: Get "https://index.docker.io/v1/search?qmysql&n25": dial tcp 199.59.148.9:443: connect: connection refused 在pull nginx时出现的报错&#xff0c;可能原因是镜像源过期了&#xff0c;我们需要更换镜像源 …

初学stm32 --- PWM输出

目录 STM32 PWM工作过程​编辑 STM32 PWM工作过程&#xff08;通道1为例&#xff09; PWM模式1 & PWM模式2 向上计数配置说明​编辑 STM32 定时器3输出通道引脚 自动重载的预装载寄存器 ​编辑 PWM输出相关库函数 输出比较初始化函数&#xff1a; 设置比较值函数&a…

web3跨链桥协议-Nomad

项目介绍 Nomad是一个乐观跨链互操作协议。通过Nomad协议&#xff0c;Dapp能够在不同区块链间发送数据&#xff08;包括rollups&#xff09;&#xff0c;Dapp通过Nomad的合约和链下的代理对跨链数据、消息进行验证、传输。其安全通过乐观验证机制和欺诈证明制约验证者实现&…

Mac iOS、Android、Flutter、React Native开发环境配置

1.安装XCode https://apps.apple.com/cn/app/xcode/id497799835?mt12 2.安装Android Studio https://developer.android.google.cn/studio 3.安装brew 参考地址&#xff1a;https://www.jianshu.com/p/22122a1d4474 /bin/zsh -c "$(curl -fsSL https://gitee.com/cunk…