开源Flink 1.11.1 on yarn-6.2.2 部署

  第三方对接
内容纲要

概要描述

在一些场景中使用开源Flink执行相关流处理任务,需要将Flink任务提交至Yarn上。此KB将指导能够在TDH开启安全的提交Flink ON Yarn的Session。

此KB案例采用Flink版本为Flink 1.11.1,TDH版本为TDH 6.2.2(开启guardian安全)


详细说明

1、部署TDH-Client

在需要在提交Flink程序的机器上提前完成TDH-Clinet的部署,可以参考KB-准备TDH客户端环境

2、准备Flink客户端

在Flink官方渠道中可以下载符合代码需求的Flink版本,如本 KB中使用的flink-1.11.1-bin-scala_2.11.tgz

将flink-1.11.1-bin-scala_2.11.tgz上传至机器上并解压。

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

3、 修改Flink配置文件

1、添加 jaas.conf 文件

cp /etc/yarn1/conf/jaas.conf flink-1.11.2/conf/

2、修改 flink-conf.yaml

vi flink-1.11.2/conf/flink-conf.yaml

添加如下内容:

env.java.home: /usr/java/jdk1.8.0_25/
#由于TDH6.2.2默认java版本为jdk1.7,需要手动指定On yarn运行时的jdk版本为1.8
containerized.master.env.JAVA_HOME: /usr/java/jdk1.8.0_25/
containerized.taskmanager.env.JAVA_HOME: /usr/java/jdk1.8.0_25/
java.security.auth.login.config: /home/flink-1.11.2/conf/jaas.conf
security.kerberos.login.use-ticket-cache: true
security.kerberos.login.keytab: /etc/yarn1/conf/yarn.keytab
security.kerberos.login.principal: yarn/test01@TDH
security.kerberos.login.contexts: Client
classloader.check-leaked-classloader: false

5、提交yarn-session

执行命令运行Flink On Yarn:

source /root/TDH-Client/init.sh y y
export HADOOP_CLASSPATH=hadoop classpath
export HADOOP_CONF_DIR=/etc/yarn1/conf/
./flink-1.11.2/bin/yarn-session.sh -d

如果运行成功会打印:

JobManager Web Interface: http://ts-cloudyi06:42781
2021-11-18 11:21:50,394 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_1637139361677_0012
If this should not be possible, then you can also kill Flink via YARN's web interface or via:
$ yarn application -kill application_1637139361677_0012
Note that killing Flink might not clean up all job artifacts and temporary files.

在浏览器中打开yarn管理页面可以看到flink-session应用Running。
cloudyi001
在浏览器中访问控制台打印的连接 http://ts-cloudyi06:42781 或者yarn界面上的Tracking UI链接都可以访问Flink的管理界面。
cloudyi002


其他信息

本KB仅如何运行FlinkOnYarn的基本操作,如果需要运行JOB需要自行构建Flinkdemo程序,更多关于Flink用法参见:Flink社区官方文档

建议您构建FlinkDemo程序时使用jdk1.8.25版本,否则可能会出现报错:

aused by: java.lang.Error: Failed to find GC Cleaner among available providers: [Legacy (before Java 9) cleaner provider, New Java 9+ cleaner provider]

这篇文章对您有帮助吗?

平均评分 0 / 5. 次数: 0

尚无评价,您可以第一个评哦!

非常抱歉,这篇文章对您没有帮助.

烦请您告诉我们您的建议与意见,以便我们改进,谢谢您。