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

使用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.mzph.cn/news/629851.shtml

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

相关文章

2024-01-16 创业日记-关于用户需求分析-思考

摘要: 创业公司一个非常大的问,就是制造的产品没有市场。创始人所设想的需求,不是真正的市场上所缺失的,导致开发出的产品不被市场认可。 那么需求是如何确定的呢?需求是怎么来的呢?自己所设想的用户需求&#xff0c…

时间函数 localtime localtime_r

时间函数 localtime localtime_r localtime 和 localtime_r 的函数功能: converts the calendar time timep to broken-time representation 在调用 localtime 和 localtime_t 函数时,需特别注意: localtime 是不可重入函数,非线…

Resemble Enhance音频失真损坏修复AI工具:一个开源语音超分辨率AI模型

Resemble Enhance是一款强大的音频处理工具,可以将嘈杂的录音转化为清晰而有力的声音,为用户提供更优质的听觉体验。这个工具不仅可以有效去除录音中的各种噪声和杂音,还能够恢复音频失真并扩展音频带宽,使原本的声音听起来更加清…

高级分布式系统-第10讲 分布式控制系统

高级分布式系统汇总:高级分布式系统目录汇总-CSDN博客 自动化是关于一切人造系统自动、智能、自主、高效和安全运行的科学与技术 计算机控制技术是实现自动化的主要方法和手段 分布式控制技术是伴随着机器大工业生产而诞生的特殊计算机控制技术 计算机控制系统 …

echarts业务中常用属性设置记录

1.legend计算占比&#xff08;解决占比总和不等于100%的问题&#xff09; //在data中定义两个字段 total:0, znum:0 //计算上面两个值 this.data.forEach(val > this.total parseInt(val.value)); for (let i 0; i < nv.length; i) {if (i ! nv.length - 1) {this.znum…

Qt/QML编程之路:使用camera摄像头(35)

汽车应用中,camera起到了越来越多的作用,数字化的作用,这点无可争议,而作为GUI设计工具,如何让Camera类的应用能更好的发挥作用呢? You can use Camera to capture images and movies from a camera, and manipulate the capture and processing settings that get appl…

网站防御爬虫攻击有哪些方式

很多网站都深受爬虫困扰&#xff0c;网站在被爬虫大量抓取的的时候经常容易被爬虫把服务器资源抓崩了&#xff0c;有的时候&#xff0c;同行也会来爬取我们网站进行数据采集&#xff0c;影响我们站点的原创性&#xff0c;那么如何进行相对应的防护还是非常重要的&#xff01; …

mysql新增用户密码控制局域网访问权限

方法一、通过navicat中sql语句新增 CREATE USER usernamelocalhost IDENTIFIED BY password; GRANT ALL PRIVILEGES ON *.* TO usernamelocalhost WITH GRANT OPTION; FLUSH PRIVILEGES;把其中的username和password改成自己的即可 如果将上面的localhost改成%&#xff0c;则这…

从CISC到RISC-V:揭开指令集的面纱

对于大多数同学来说&#xff0c;计算机或智能手机的运行似乎就像魔法一样神奇。你可能知道它们内部都是一些复杂的电子组件&#xff0c;比如CPU、内存等等&#xff0c;但这些组件是如何协同工作&#xff0c;让我们可以在电脑上打字&#xff0c;或者在手机上看视频呢&#xff1f…

1.环境部署

1.虚拟机安装redhat8系统 这个其实很简单&#xff0c;但是有一点小细节需要注意。 因为我的电脑是 16核心的&#xff0c;所以选择内核16&#xff0c;可以最大发挥虚拟机的性能 磁盘选择SATA&#xff0c;便于后期学习 将一些没用的设备移除 选择安装redhat 8 时间选择上海 选择…

Python 语法糖

一、基本概念 语法糖&#xff0c;可以理解为&#xff1a;“甜蜜” 的便捷语法。 它是编程语言为程序提供的更简洁、更易读的语法实现的语法结构&#xff0c;它并不影响语言的功能&#xff0c;仅仅是一种更便捷的书写方式。 这就像你制作蛋糕时&#xff0c;使用现代烤箱而不是…

无法解析的外部符号ShellExecuteExW

问题情况 在QT使用&#xff1a;ShellExecuteEx时遇上这么一个错误&#xff1a;遇上这么一个错误&#xff1a; error: LNK2019: 无法解析的外部符号 __imp_ShellExecuteExW *ReportService.obj&#x1f44e; error: LNK2019: 无法解析的外部符号 __imp_ShellExecuteExW&#x…

源码部署Milvus(三)成功解决vscode调试milvus源码时间超时问题!

作者有话说 继上周成功调试后出现时间超时问题&#xff0c;且想定位create_index等如何触发milvus底层实现文件&#xff0c;总是报错Timeout&#xff0c;这周碎片化抽空解决此问题&#xff0c;猜测可能是vscode配置的调试环境有问题&#xff0c;果不其然&#xff01; 报错 g…

React16源码: React中调度之scheduleWork的源码实现

scheduleWork 1 &#xff09; 概述 在 ReactDOM.render, setState, forceUpdate 这几个方法最终都调用了 scheduleWork 这个方法 在 scheduleWork 当中&#xff0c;它需要去找到更新对应的 FiberRoot 节点 在使用 ReactDOM.render 的时候&#xff0c;传给 scheduleWork 的就是…

RocketMQ源码阅读-Producer消息发送

RocketMQ源码阅读-Producer消息发送 1. 从单元测试入手2. 启动过程3. 同步消息发送过程4. 异步消息发送过程5. 小结 Producer是消息的生产者。 Producer和Consummer对Rocket来说都是Client&#xff0c;Server是Broker。 客户端在源码中是一个单独的Model&#xff0c;目录为rock…

ASP.NET Core 的 Web Api 实现限流 中间件

Microsoft.AspNetCore.RateLimiting 中间件提供速率限制&#xff08;限流&#xff09;中间件。 它是.NET 7 以上版本才支持的中间件&#xff0c;刚看了一下&#xff0c;确实挺好用&#xff0c;下面给大家简单介绍一下&#xff1a; RateLimiterOptionsExtensions 类提供下列用…

本地浏览器查看--服务器上运行的可视化,如tensorboard

特别提醒&#xff1a;注意看本地端和服务器端 一、服务器终端运行 tensorboard --logdirlogs --port6008二、本地终端运行--以建立端口映射 ssh -L 6008:localhost:6008 -p 443 root服务器IP解释&#xff1a;将服务器的6008端口映射到本地的6008端口&#xff0c;-p 443 …

收支明细曲线图:一图掌握你的财务变化趋势!

想要快速了解你的收支明细和变化趋势吗&#xff1f;不需要复杂的财务表格&#xff0c;一个曲线图就能让你一目了然&#xff01;现在&#xff0c;就让我们带你走进「图形化分析收支变化趋势」的世界&#xff0c;让你轻松掌握自己的财务状况。 首先&#xff0c;第一步&#xff0…

超结MOS在舞台灯电源上的应用-REASUNOS瑞森半导体

一、前言 舞台灯电源是一种为舞台灯具提供电力转换和控制的设备&#xff0c;它可以根据不同的灯具类型和需求&#xff0c;提供恒流或恒压、可调光或不可调光、模拟或数字或网络等输出模式。 舞台灯电源的主要特点是具有高效、稳定、安全、智能等功能&#xff0c;它可以适应不…

MySQL表状态参数解读

查看表状态 SHOW TABLE STATUS where name ***; 返回结果示例 *************************** 1. row ***************************Name: ***Engine: InnoDBVersion: 10Row_format: CompactRows: 2036375Avg_row_length: 139Data_length: 284164096 Max_data_length: 0Index_…