hadoop3.2.4集成flink 1.17.0

news/2025/2/14 7:59:36/

前言

flink安装部署有三种方式

  • local:单机模式,尽量不使用

  • standalone: flink自带集群,资源管理由flink集群管理,开发环境测试使用,不需要hadoop集群

  • flink on yarn: 把资源管理交给yarn实现,计算机资源统一由Haoop YARN管理,生产环境测试,需要先启动hadoop集群。(这里分为可以继续细分三种方式
    1.session mode 长久启动一个flink集群接收job,main 方法在客户端执行
    2.per-job mode 每个任务启动一个flink集群,main 方法在客户端执行
    3.application mode Application 模式为每个提交的应用程序创建一个集群,该集群可以看作是在特定应用程序的作业之间共享的会话集群,并在应用程序完成时终止


一、flink包选择以及下载

下载地址在下面
https://www.apache.org/dyn/closer.lua/flink/flink-1.17.0/flink-1.17.0-bin-scala_2.12.tgz
在这里插入图片描述
看flink适配的版本可以去看flink的版本说明,上flink官网
在这里插入图片描述

看这里的部署,yarn模式部署,这里可以看到要求hadoop最小的版本是多少
在这里插入图片描述

这里版本要求是大于2.10.2版本包括3.0版本,我的hadoop版本是满足要求的,直接安装这个最新的flink版本。

二、安装flink集群

因为我前面已经安装了hadoop集群,这里直接选择flink on yarn的安装方式,模式选择了session-mode方式,实际生产中使用per-job和application的模式可能会比较多,但是操作基本差不太多,就直接使用这种方式安装了。以下的操作需要集群每台机器都操作下,我这里
只是测试在hadoop1:192.168.184.129、hadoop2:192.168.184.130、hadooop3:192.168.184.131三台机器上部署。

2.1.上传压缩包到linux上

解压到你需要安装的目录
我的安装目录为/root/tools,这个可以自己定,执行以下命令

tar -zxvf flink-1.17.0-bin-scala_2.12.tgz

解压完成后得到flink安装目录

/root/tools/flink-1.17.0

2.2 修改linux环境变量

修改 /etc/profile文件,在文件末尾加上

export HADOOP_CLASSPATH=`hadoop classpath`
export FLINK_HOME=/root/tools/flink-1.17.0
export PATH=$PATH:$FLINK_HOME/bin

刷新环境变量
进入hadoop安装目录执行脚本,这里的hadoop安装就不在这里说了
可以去文章看。hadoop集群安装

./hadoop.sh start

2.3 启动flink集群

进入
/root/tools/flink-1.17.0 目录执行以下指令

./bin/yarn-session.sh --detached
出现以下日志说明启动成功。

在这里插入图片描述
flink集群关闭可以使用指令

./bin/yarn-session.sh -id application_1684894883560_0001

如果上面的停不了使用指令,id在hadoop上有显示,copy下就行。

yarn application -kill application_1684894883560_0001

2.4 查看集群

http://hadoop2:8088/cluster/nodes
登录hadoop集群管理页面,可以看到启动的flink集群。
在这里插入图片描述
点击右边的flink集群管理界面
在这里插入图片描述
flink集群管理界面
在这里插入图片描述

三、测试

3.1 提交flink的测试job看看结果

在这里插入图片描述
选择到wordcount.jar看看执行结果
在这里插入图片描述
提交任务
在这里插入图片描述
查看任务执行情况。

在这里插入图片描述

这里可以看到任务已经执行完毕了,这里的例子没找到输出在哪看,下个博客自己弄一个jar去测试下。


总结

实践了下,hadoop集成flink,操作不难,不对的可以指出,一起进步。


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

相关文章

MQTT中间件Eclipse Mosquitto安装和使用(.asc文件)MQTT监控命令mosquitto_sub(mosquitto C++库源码编译)

昨天弄的,今天忘了不少。。。 文章目录 参考链接安装MQTT服务中间件安装启动与查询卸载与清理 MQTT C支持库安装(使C能使用相关库函数)离线安装(通过源码)ubuntu官网下载软件包编译mosquitto客户端库 mosquitto Docker…

GameFramework框架

官网 Game Framework | 基于 Unity 引擎的游戏框架 介绍 对常用模块封装,规范开发过程,保证产品质量,内置19个模块。 组成 框架主要分两部分:GameFramework(简称GF),UnityGameFramework(简称UGF&#xff09…

奋斗,然后成功:我的架构狮之梦

与代码结缘 2018年,当时听说了一个很厉害的人——吴瀚清老师,也就是大家所熟知的“道哥”。关于他的事情有很多传说,于是我也很快成为了他的小迷弟,把吴瀚清老师当成了自己的偶像。 也是那一年,我买了人生中第一本关…

1720_Linux学习中的问题处理

全部学习汇总:GreyZhang/little_bits_of_linux: My notes on the trip of learning linux. (github.com) 这个有点学习的方法论的意思,画个滋味导图顺便整理一下。 遇到问题的时候,解决的方法大致有3中,而针对学习的建议有一部分是…

JS中神奇的String.indexOf()

在JavaScript中,String.indexOf(searchvalue) 方法可返回某个指定的字符串值在字符串中首次出现的位置。这是个常见的方法,但却有着不常见的用法。 常用的用法: this is jimson.indexOf(this); //return 0; this is jimson.indexOf(is); …

经典JavaScript手写面试题和答案

文章目录 实现一个函数去重?实现一个函数,判断指定元素在数组中是否存在?实现一个函数,将给定字符串反转?实现一个函数,检测指定字符串是否为回文(即从前往后和从后往前的字符序列都相同&#x…

【Linux】-yum的使用

💖作者:小树苗渴望变成参天大树 ❤️‍🩹作者宣言:认真写好每一篇博客 💨作者gitee:gitee 💞作者专栏:C语言,数据结构初阶,Linux,C 如 果 你 喜 欢 作 者 的 文 章 ,就 给 作 者 点…

Prometheus+Grafana学习(十一)安装使用pushgateway

Pushgateway允许短暂和批量作业将其指标暴露给 Prometheus。由于这些工作的生命周期可能不足够长,不能够存在足够的时间以让 Prometheus 抓取它们的指标。Pushgateway 允许它们可以将其指标推送到 Pushgateway,然后 Pushgateway 再将这些指标暴露给 Prom…