概述

在经过hadoop系列文章后,hadoop环境就ok了,接下来,需要一个yarn-session环境来跑flink任务,此篇任务是在hadoop yarn环境上部署一个flink yarn-session环境,flink 1.17.1版本

相关文章聚合链接

准备

为了加深理解,先来看两篇官方解释,也可以略过,重点我会标记给出说明

官方两篇

重点看官网提供的flink下载地址,需要的一些配置 jdk ,解压,flink目录浏览;第二篇介绍了如何搭建 Flink Session on YARN及 当前版本flink支持的hadoop版本 (大数据组件之间的版本兼容性很重要)

  1. First steps
  2. Apache Hadoop YARN

如果对官方文档不感兴趣,可以直接向下,先进行flink的下载,然后就是flink执行环境搭建,两步如下:

  1. flink下载
  2. 第二篇请看下面

yarn-session搭建

hadoop 环境需要 jdk版本是1.8,flink 1.17.1使用 jdk11

注意: jdk11 要分发到所有的 hadoop worker 节点上

[root@hadoop01 conf]# pwd
/data/soft/flink/conf
[root@hadoop01 conf]# vi flink-conf.yaml
# 加入以下内容
env.java.home: /data/soft/jdk-11.0.20
containerized.master.env.JAVA_HOME: /data/soft/jdk-11.0.20
containerized.taskmanager.env.JAVA_HOME: /data/soft/jdk-11.0.20

以下图片标记很重要,因为按照官方文档设置并不会生效,需要再添加两个配置 containerized.master.env.JAVA_HOME: /data/soft/jdk-11.0.20
containerized.taskmanager.env.JAVA_HOME: /data/soft/jdk-11.0.20

在这里插入图片描述

启动 yarn session

启动之前,还得有一步检查 HADOOP_CLASSPATH 环境变量配置

HADOOP_CLASSPATH

配置 HADOOP_CLASSPATH 环境变量

[root@hadoop01 bin]# vi /etc/profile

export HADOOP_CLASSPATH=`hadoop classpath`

[root@hadoop01 bin]# source /etc/profile

启动

注意: 启动时如果带了其它的参数,会导致 -d也无后台生效,按 ./bin/yarn-session.sh --detached 执行,yarn session 资源会自己伸缩

[root@hadoop01 flink]# ./bin/yarn-session.sh --detached
2023-10-18 14:05:15,155 INFO  org.apache.flink.yarn.YarnClusterDescriptor                  [] - YARN application has been deployed successfully.
2023-10-18 14:05:15,156 INFO  org.apache.flink.yarn.YarnClusterDescriptor                  [] - Found Web Interface hadoop04:38155 of application 'application_1697598809136_0001'.
JobManager Web Interface: http://hadoop04:38155
2023-10-18 14:05:15,413 INFO  org.apache.flink.yarn.cli.FlinkYarnSessionCli                [] - The Flink YARN session cluster has been started in detached mode. In order to stop Flink gracefully, use the following command:
$ echo "stop" | ./bin/yarn-session.sh -id application_1697598809136_0001
If this should not be possible, then you can also kill Flink via YARN's web interface or via:
$ yarn application -kill application_1697598809136_0001
Note that killing Flink might not clean up all job artifacts and temporary files.

在这里插入图片描述

执行flink任务

执行 flink任务来验证环境是否成功

./bin/flink run ./examples/streaming/TopSpeedWindowing.jar

效果
在这里插入图片描述

结束

至此 flink yarn session 环境ok,如有问题,欢迎评论区提问

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐