flink1.14.5使用CDH6.3.2的yarn提交作业

news2025/1/11 18:37:39

使用CDH6.3.2安装了hadoop集群,但是CDH不支持flink的安装,网上有CDH集成flink的文章,大都比较麻烦;但其实我们只需要把flink的作业提交到yarn集群即可,接下来以CDH yarn为基础,flink on yarn模式的配置步骤。

一、部署flink
1、下载解压

官方下载地址:Downloads | Apache Flink

注意:CDH6.3.2是使用的scala版本是2.11(可以去CHD中spark目录lib下,看一下scala版本),所以下载的flink也要scala_2.11版本的。

2、解压

cd /data/softs tar -zxvf flink-1.14.5-bin-scala_2.11.tgz

#修改名称

mv softs/flink-1.14.5 /data/flink-yarn

3、修改flink配置

vim conf/flink-conf.yaml

#配置java环境变量

env.java.home: /usr/local/jdk1.8.0_281/

#以下为高可用配置

yarn.application-attempts: 3
high-availability: zookeeper
high-availability.storageDir: hdfs://master1:8020/flink/yarn/ha
high-availability.zookeeper.quorum: master1:2181,node1:2181,node2:2181
high-availability.zookeeper.path.root: /flink-yarn
high-availability.cluster-id: /cluster_flink_yarn

4、修改操作用户(针对以session模式启动flink)

vim bin/yarn-session.sh

#操作hdfs的用户

export HADOOP_USER_NAME=hdfs

5、分发到其它节点

将配置好的flink分发到其它两个节点(我的集群是三个节点)

scp -r flink-yarn node1:/data/

scp -r flink-yarn node2:/data/

6、配置全局环境变量

想要让 Flink 服务运行与 YARN 之上,首先需要让 Flink 能够发现 YARN 和 HDFS 的相关配置,因此,需要通过HADOOP_CLASSPATH、HADOOP_CONF_DIR 属性来指定 Hadoop 配置文件所在目录;

因此需要在各个节点配置这两个属性的去全局变量。

vim /etc/profile

#添加如下两行

export HADOOP_CLASSPATH=`hadoop classpath`

export HADOOP_CONF_DIR=/etc/hadoop/conf.cloudera.yarn/

#刷新

source /etc/profile

7、设置归属用户

因为flink需要将作业提交到yarn集群上,即需要访问或者操作hadoop集群,所以需要有hdfs用户的权限(CDH集群默认hdfs用户有操作hadoop的权限),所以要将flink的归属用户设置为hdfs,且后续都必须用hdfs用户提交flink的作业。在各个节点执行如下操作:

chown -R hdfs:hdfs flink-yarn

二、提交flink作业
1、上传作业jar包

这里使用的是一个单词统计的jar包,使用时需要传入一个服务器IP作为监听的对象

rz flink-on-k8s-demo-1.0-SNAPSHOT.jar

2、在被监听服务器上发送消息

#在172.16.12.103 这台服务器上执行,并输入单词

nc -lk 7777

3、使用application模式启动flink作业

 ./bin/flink run-application -t yarn-application \   #指定flink作业的启动方式
 -c com.yale.StreamWordCount  \                      #指定程序的入口类
 ../softs/flink-on-k8s-demo-1.0-SNAPSHOT.jar  \      #程序jar包
 172.16.12.103                                                         #入参(被监听的服务器IP)

4、查看作业执行情况

打开yarn的webUI

可以看到一个正在运行的任务,点击 applicationId 进去,可以看到有两个容器,

点击logs进去

再点击taskmanager.out,可以看到单词统计的结果,说明成功了!!

三、遇到的问题
1、org.apache.flink.client.deployment.ClusterDeploymentException

答:flink的scala版本和CDH的scala版本不一致,将flink换成scala_2.11版本。

2、Please specify JAVA_HOME. Either in Flink config ./conf/flink-conf.yaml or as system-wide JAVA_HOME

答:在flink-conf.yaml文件中添加env.java.home属性指定java home。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1388243.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

读元宇宙改变一切笔记09_硬件与互操作性(下)

1. 移动互联网的继承者 1.1. 要想让元宇宙成为现实,需要开发新的标准,创建新的基础设施,可能还需要对长期存在的TCP/IP协议进行彻底改革 1.1.1. 采用新的设备和硬件,甚至可能打破技术巨头、独立开发者和终端用户之间的权利平衡 …

简单整理FFmpeg相关命令集

FFmpeg相关命令集 简单整理了FFmpeg相关命令,主要包括ffplay播放控制和媒体播放命令、ffmpeg命令相关参数以及常用的提取音视频等命令。 🎡导航小助手🎡 FFmpeg相关命令集1.ffmpeg命令分类查询2.ffplay命令2.1 ffplay播放控制2.2 ffplay命令…

使用ffmpeg进行视频截取

1 原始视频信息 通过ffmpeg -i命令查看视频基本信息 ffmpeg version 6.1-essentials_build-www.gyan.dev Copyright (c) 2000-2023 the FFmpeg developersbuilt with gcc 12.2.0 (Rev10, Built by MSYS2 project)configuration: --enable-gpl --enable-version3 --enable-sta…

【Kotlin】协程的字节码原理

前言 协程是Koltin语言最重要的特性之一,也是最难理解的特性。网上关于kotlin协程的描述也是五花八门,有人说它是轻量级线程,有人说它是无阻塞式挂起,有人说它是一个异步框架等等,众说纷芸。甚至还有人出了书籍专门介…

[笔记]深度学习入门 基于Python的理论与实现(一)

代码仓库 gitee 1. python 入门 1.5之前是python安装和基础语法, 我直接跳过了 1.5 Numpy 深度学习中经常出现数组和矩阵运算,Numpy 的数组类 numpy.array 提供了很多便捷的方法 1.5.1 导入 Numpy import numpy as np1.5.2 生成 Numpy 数组 np.array()&#xf…

云计算概述(发展过程、定义、发展阶段、云计算榜单)(一)

云计算概述(一) (发展过程、定义、发展阶段、云计算榜单) 本文目录: 零、00时光宝盒 一、前言 二、云计算的发展过程 三、云计算的定义 四、云计算发展阶段 五、云计算公司榜单看云计算兴衰 六、参考资料 零、0…

数据结构与算法教程,数据结构C语言版教程!(第四部分、字符串,数据结构中的串存储结构)二

第四部分、字符串,数据结构中的串存储结构 串存储结构,也就是存储字符串的数据结构。 很明显,字符串之间的逻辑关系也是“一对一”,用线性表的思维不难想出,串存储结构也有顺序存储和链式存储。 提到字符串&#xff…

《SPSS统计学基础与实证研究应用精解》视频讲解:SPSS运行环境设置

《SPSS统计学基础与实证研究应用精解》1.8 视频讲解 视频为《SPSS统计学基础与实证研究应用精解》张甜 杨维忠著 清华大学出版社 一书的随书赠送视频讲解1.6节内容。本书已正式出版上市,当当、京东、淘宝等平台热销中,搜索书名即可。本书旨在手把手教会使…

【机器学习300问】8、为什么要设计代价函数(损失函数)?它有什么用?

一、先介绍一下线性回归模型 (1)基本概念理解 文字解释:线性回归模型顾名思义,他处理的回归问题,是监督学习的一种。线性回归模型是一种预测模型,其基础是假设目标值和输入值之间存在线性关系。通过一条最…

矩阵快速幂技巧练习(一)— 经典牛问题

上一篇文章简单介绍了斐波那契数列的矩阵乘法,并做了一个小推广,这篇文章来小试牛刀,做一个经典的练习题。 求斐波那契数列矩阵乘法的方法 题目 第一年农场有一只成熟的母牛A,往后的每年: 每一只成熟的母牛都会生一只…

websocket项目 聊天室

1.项目概述 这个项目是一个基本的实时聊天应用,适用于小型团队或群体。提供了多个聊天室供用户选择。可以通过该代码进行进一步的扩展和定制,例如添加聊天机器人、改进界面等。 2.技术栈 flask,boostrapt,websocket&#xff0c…

【Rust】get_local_info 0.2.4发布

发布0.2.4,修正0.2.3([我的Rust库更新]get_local_info 0.2.3-CSDN博客)中存在的峰值算法bug,现已提交力扣并通过,耗时0ms

[笔记]深度学习入门 基于Python的理论与实现(二)

2. 感知机 感知机(perceptron)是由美国学者 Frank Rosenblatt 在 1957 年提出的。它作为神经网络(深度学习)的起源的算法,是学习神经网络和深度学习的重要一环 严格地说,本章所说的感知机应该称为‘人工神经元’或‘朴素感知机’&…

排序算法8----归并排序(非递归)(C)

1、介绍 归并排序既可以是内排序(在内存上的数据排序),也可以是外排序(磁盘上)(硬盘)(在文件中的数据排序)。 其他排序一般都是内排序。 区别于快速排序的非递归&#xf…

uni-app的学习【第三节】

五 运行环境判断与跨端兼容 uniapp为开发者提供了一系列基础组件,类似HTML里的基础标签元素,但uni-app的组件与HTML不同,而是与小程序相同,更适合手机端使用。 虽然不推荐使用 HTML 标签,但实际上如果开发者写了`div`等标签,在编译到非H5平台时也会被编译器转换为 `view`…

爬虫-8-数据存储-mysql

#mysql占空间最小吧,数据存储没问题吧 (//∇//)

Flowable:BpmnModel API

之前都是使用工具在绘制流程图,但是还是很少去认真的去看这个xml,有时候我们要从xml中分析获取一些结果,这个时候就要对xml及对应的api有足够的认识。 一:重新认识bpmn definitions:根节点用于定义流程。 bpmndi:BPMND…

台式OLED透明屏的6大基本要素

台式 OLED 透明屏作为一种创新的显示技术,正逐渐走进人们的视野。本文将为您全面介绍台式 OLED 透明屏的各个方面,包括类别、尺寸、技术参数原理、应用、主要厂家(尼伽)以及价格因素。 一、类别台式 OLED 透明屏根据不同的需求和应…

Java 实现双链表

文章目录 双链表(Doubly Linked List)是一种常用的数据结构,它与单链表相似,但每个节点除了包含指向下一个节点的指针外,还包含一个指向前一个节点的指针。 双链表的节点由三部分组成:数据域(存…

帆软报表11.0.19增加postgres数据源方案

项目使用postgres数据库,帆软报表集成开发时需要手工增加该数据源。 https://help.fanruan.com/finereport/doc-view-2563.html 但增加数据源后测试报告无此驱动,经查看文档,现在是通过驱动管理来上传, 但新版又不允许上传驱动JAR…