Flink实战——Yarn运行模式部署

目录

一、引言

1.1 Yarn运行模式的部署过程和优势

1.2 本文目标

1.3 软件版本说明

二、配置过程

2.1 配置环境变量

2.2 加载环境变量

2.3 启动Hadoop集群

三、三种部署模式下的相关操作介绍

3.1 会话模式

3.2 单作业模式

3.3 应用模式

四、配置报错及修复

4.1 启动出错

4.2 提交作业时出错

一、引言

1.1 Yarn运行模式的部署过程和优势

        Yarn运行模式是指由资源管理框架Yarn来启动Flink集群

        其部署过程是客户端会将Flink应用提交给Yarn的ResourceManager,而Flink会在由ResourceManager申请到的容器上部署相应的JobManager和TaskManager实例。

        Yarn运行模式的一个最为明显的优势是会实现对TaskManager资源的一个动态分配

1.2 本文目标

         本文主要实现在Linux系统上将Flink任务部署到Yarn集群上。

1.3 软件版本说明

        为避免相应版本之间的冲突,本文将所使用的相关软件版本汇总至如下表1所示情况。

表1 相关软件版本说明
软件名称软件版本号
jdk1.8
hadoop3.1.3
flink1.17

        同时, 由于Yarn运行模式是在搭建完Flink后部署的, 故在开始本文配置之前,读者首先确保Linux系统已经安装好Flink和Hadoop集群。若未安装Flink集群,可参考下文进行配置。

Flink实战——集群搭建icon-default.png?t=N7T8https://blog.csdn.net/m0_46332441/article/details/137519959?spm=1001.2014.3001.5501

二、配置过程

2.1 配置环境变量

         Yarn运行模式的部署仅需要对环境变量进行修改。首先,按照图1所示内容进入到环境变量所对应的配置位置,其中,红色框住部分为用户搭建hadoop集群时设定的目录位置

图1 进入相应配置位置

          进一步,在环境变量配置文件中,新增如下图2红色框住部分所示的内容,相应内容见下方:

export HADOOP_CONF_DIR=${HADOOP_HOME}/etc/hadoop
export HADOOP_CLASSPATH=`hadoop classpath`

图2 新增环境变量

2.2 加载环境变量

        完成上述2.1步骤后,保存退出文件,并采用如下的Linux命令,加载环境变量。其中,红色标注部分由读者自定义配置所决定。

[root@hadoop00 ~]$ source /etc/profile.d/my_env.sh 

2.3 启动Hadoop集群

        最后,若读者已经编写过Hadoop集群启动脚本,则采用脚本启动Hadoop集群;若读者未编写相应脚本可以采用如下的Linux命令启动Hadoop集群。

[root@hadoop00 hadoop-3.1.3]$ start-dfs.sh
[root@hadoop00 hadoop-3.1.3]$ start-yarn.sh

        注意:无论是会话模式、单作业模式还是应用模式,在Yarn运行模式中,都要率先开启Hadoop集群才能使用,否则相应模式会报错。

三、三种部署模式下的相关操作介绍

3.1 会话模式

         会话模式下的相关Linux操作命令见下方:

1. 开启Yarn会话命令(会话模式需要单独开启一个YARN会话

[root@hadoop00 flink-1.17]$ bin/yarn-session.sh

2.命令行提交作业命令

[root@hadoop00 flink-1.17]$ bin/flink run -c com.Demo Demo.jar

其中,红色标注字体为用户根据实际情况所设定的类名和Jar包名。

3.2 单作业模式

         单作业模式下的相关Linux命令操作见下方:

1.命令行提交作业

[root@hadoop00 flink-1.17]$ bin/flink run -d -t yarn-per-job -c com.Demo Demo.jar

其中,红色标注字体为用户根据实际情况所设定的类名和Jar包名。

2.命令行查看作业

[root@hadoop00 flink-1.17]$ bin/flink list  -t yarn-per-job -Dyarn.application.id=XX

其中,红色标注字体为当前应用的ID。

3.命令行取消作业

[root@hadoop00 flink-1.17]$ bin/flink cancel  -t yarn-per-job -Dyarn.application.id=XX YYY

其中,红色标注字体为当前应用的ID,棕色字体为<jobid>作业ID。

3.3 应用模式

          应用模式下的相关Linux命令操作见下方:

1. 命令行提交作业

[root@hadoop00 flink-1.17]$ bin/flink run-application -t yarn-application -c com.Demo Demo.jar

其中,红色标注字体为用户根据实际情况所设定的类名和Jar包名。

2.命令行查看作业

[root@hadoop00 flink-1.17]$ bin/flink list  -t yarn-application  -Dyarn.application.id=XX

其中,红色标注字体为当前应用的ID。

3.命令行取消作业

[root@hadoop00 flink-1.17]$ bin/flink cancel  -t yarn-application -Dyarn.application.id=XX YYY

其中,红色标注字体为当前应用的ID,棕色字体为<jobid>作业ID。

4.从hdfs中提交作业

[root@hadoop00 flink-1.17]$ bin/flink run-application -t yarn-application -Dyarn.provided.lib.dirs=''hdfs_lib_plugins_dir"  -c  com.Demo          hdf_jar_dir

其中,红色标注字体hdfs_lib_plugins_dir、com.Demohdf_jar_dir分别表示lib和plugins在HDFS上的位置、用户根据实际情况所设定的类名和Jar包在HDFS上的位置。

四、配置报错及修复

4.1 启动出错

        若在Yarn运行模式下启动三个模式中任一的一种模式时(会话模式、单作业模式、应用模式),出现Exception in thread "main" java.lang.NoClassDefFoundError错误标识,即出现如下图3所示错误。

图3 启动报错

         其产生错误的原因是配置环境变量时,没有键入正确的反引号或者配置完成后没有重新加载环境变量。下图4展示错误的反引号情况。

图4 反引号错误

4.2 提交作业时出错

        若在会话模式下,上传作业时出现java.net.ConnectException:拒绝连接的错误标识,即下图5所示错误情况。

图5 拒绝连接错误

         造成这种错误的原因是,在上传作业时,未开启一个YARN会话。此时,单独开启一个Yarn会话即可解决该错误。

  • 24
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值