flink环境参数引起的错误

news2024/11/23 7:01:52

环境参数:flink使用的版本是1.13.5、CentOS Linux 8

一,默认环境引起本地与集群的jar包冲突

遇到的情况是在idea执行的时候是没有问题的,然后打成jar包用集群执行的时候就会遇到问题。报错的时候会不太一,总之顺着错误去找的话会找到是代码中的哪个jar包产生了冲突发生的问题。比如有遇到如下错的

处理方法: 通过在启动脚本中增加如下命令:

-yD yarn.per-job-cluster.include-user-jar="FIRST"

将程序环境使用包的时候优先使用本项目包自己的,如果不设置的话是默认使用集群自带的,这也是为什么在本地能跑通但是上的集群就报jar包依赖冲突的原因。

该命令的功能如下所示:

二,提交脚步不同参数应对的需求

首先并行度是通过文件$config_path作为参数传递进去,然后在实际的代码中去设置的,用法如:

SingleOutputStreamOperator<String> FilterStream = SendStream
        .process(new SubGroupMemberProcessFunction())
        .setParallelism(MemberParallel)
        ;

在代码执行层面是通过process来执行类以及setParallelism来执行该类时的并行度。

1,最初的提交脚本是这么设置的

run_flink(){
/data0/flink/flink-1.13.5/bin/flink run -m yarn-cluster \
  -ynm Flink_Rt_global_pushClick \
  -ys 2 \
  -yd \
  -ytm 3072 \
  -yjm 2048 \
  -yD taskmanager.memory.jvm-metaspace.size=128mb \
  -yD taskmanager.memory.managed.size=0mb \
  -yD taskmanager.memory.jvm-overhead.min=512mb \
  -yD yarn.containers.vcores=1 \
  -c com.push.FlinkGlobalPushClickMain \
  flink-1.0-SNAPSHOT.jar \
  --config_path $config_path
}

后来发现集群中资源吃紧,因此就将ys的数值增加以此来减少cpu的使用:

run_flink(){
/data0/flink/flink-1.13.5/bin/flink run -m yarn-cluster \
  -ynm Flink_Rt_newimpression \
  -ys 4 \
  -yd \
  -ytm 3072 \
  -yjm 2048 \
  -yD taskmanager.memory.jvm-metaspace.size=128mb \
  -yD taskmanager.memory.managed.size=0mb \
  -yD taskmanager.memory.jvm-overhead.min=512mb \
  -yD yarn.containers.vcores=1 \
  -c com.push.FlinkGlobalPushClickMain \
  flink-1.0-SNAPSHOT.jar \
  --config_path $config_path
}

通过这种设置只有cpu的消耗从266核下降到了134核了,内存是有增加的。

(其实是牺牲了内存来换cpu的)

再接着是有的程序数据量比较大需要的资源更多因此并行度设置的就很大,这导致默认的taskmanager.memory.network是不够用的,报错如下:

java.io.IOException: Insufficient number of network buffers: required 2, but only 0 available. The total number of network buffers is currently set to 7782 of 32768 bytes each. You can increase this number by setting the configuration keys 'taskmanager.memory.network.fraction', 'taskmanager.memory.network.min', and 'taskmanager.memory.network.max'.

因此增加了taskmanager.memory.network.min和taskmanager.memory.network.max以此来保证程序在执行过程中即使并行度很大也能有足够的内存用于网络交互:

run_flink(){
  /data0/flink/flink-1.13.5/bin/flink run -m yarn-cluster \
  -ynm Flink_Rt_SPAndFR \
  -ys 4 \
  -yd \
  -ytm 3072 \
  -yjm 2048 \
  -yD taskmanager.memory.jvm-metaspace.size=128mb \
  -yD taskmanager.memory.managed.size=0mb \
  -yD taskmanager.memory.jvm-overhead.min=512mb \
  -yD yarn.containers.vcores=1 \
  -yD taskmanager.memory.network.min=650mb \
  -yD taskmanager.memory.network.max=3500mb \
  -c com.push.FlinkGlobalPushClickMain \
  flink-1.0-SNAPSHOT.jar \
  --config_path $config_path
}

这样程序就你能正确执行了。

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

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

相关文章

【力学性能预测】基于人工神经网络的钢板力学性能预测(附完整代码和数据集,系列3)

写在前面: 首先感谢兄弟们的订阅,让我有创作的动力,在创作过程我会尽最大能力,保证作品的质量,如果有问题,可以私信我,让我们携手共进,共创辉煌。 Hello,大家好,我是augustqi。今天手把手带大家做一个机器学习实战项目:基于人工神经网络的钢板力学性能预测,或者称…

文本生成视频、AI临床知识理解、大模型有趣案例、智源社区《预训练周刊》第70期...

No.70智源社区预训练组预训练研究观点资源活动周刊订阅《预训练周刊》已经开启“订阅功能”&#xff0c;扫描下面二维码&#xff0c;进入《预训练周刊》主页&#xff0c;选择“关注TA”&#xff0c;即可收到推送消息。关于周刊本期周刊&#xff0c;我们选择了12篇来自国内外知名…

《机器人SLAM导航核心技术与实战》第1季:第4章_机器人传感器

视频讲解 【第1季】4.第4章_机器人传感器-视频讲解 【第1季】4.1.第4章_机器人传感器_惯性测量单元-视频讲解 【第1季】4.2.第4章_机器人传感器_激光雷达-视频讲解 【第1季】4.3.第4章_机器人传感器_相机-视频讲解 【第1季】4.4.第4章_机器人传感器_带编码器的减速电机-视频…

Python机器学习:数据探索与可视化(一)

什么是数据探索&#xff1f; 在前面我们说到&#xff0c;所谓机器学习&#xff0c;就是用已知的数据通过算法去预测未来未知的数据。但是这个过程进行的前提就是要保证已知数据的完成性。所以数据探索&#xff0c;就是检查数据是否完整&#xff0c;是否有缺失值。 什么是可视化…

【安全研究】基于OPA和Spring Security的外部访问控制

译者导读 CNCF的毕业项目Open Policy Agent&#xff08;OPA&#xff09;, 为策略决策需求提供了一个统一的框架与服务。它将策略决策从软件业务逻辑中解耦剥离&#xff0c;将策略定义、决策过程抽象为通用模型&#xff0c;实现为一个通用策略引擎&#xff0c;可适用于广泛的业…

阿里云对话 Tapdata:「开发者优先」正在影响商业化软件的开源选择

在刚刚过去的2022年&#xff0c;Tapdata 带着开源项目 PDK&#xff08;Plugin Development Kit&#xff09;及 Tapdata Community 和大家见面&#xff0c;兑现了我们对自己以及开发者们的开源承诺&#xff0c;同时与阿里云等生态伙伴联合&#xff0c;加速构建更加开放的数据生态…

Linux基础 - DNS服务进阶

‍‍&#x1f3e1;博客主页&#xff1a; Passerby_Wang的博客_CSDN博客-系统运维,云计算,Linux基础领域博主&#x1f310;所属专栏&#xff1a;『Linux基础』&#x1f30c;上期文章&#xff1a; Linux基础 - DNS服务基础&#x1f4f0;如觉得博主文章写的不错或对你有所帮助的话…

贪心策略(三)多机调度问题、活动选择(库函数sort的整理)

把sort库函数的使用总结一下&#xff1a; 1、头文件#include<algorithm> 时间复杂度nlog(n) 2、使用格式 sort&#xff08;arr.begin(), arr.end()&#xff09;&#xff1b; 3、默认使用升序排序&#xff0c;第三个参数默认使用less<T>() 4、如果需要进行降序排序…

springcloud + nacos多环境联调、本地联调(即灰度版本)

背景&#xff1a;当我们使用nacos为注册中心注册微服务时&#xff0c;想本地环境和测试环境公用一个nacos&#xff0c;即注册中心等基础服务共用。当我们在服务A开发时&#xff0c;本地服务和测试环境服务都是注册到同一个nacos&#xff0c;由于nacos自带负载均衡策略&#xff…

小程序开发经验分享(9)小程序快速上线汇总

微信小程序申请 开发中的Appid 需要从“微信公众平台”中获取 如果是直接从git上拉取的话 直接项目导入就可以了(名称可以是中文) 小程序基础配置 如果需要修改显示的名称和appid可以去生成的配置文件project.config.json里面修改

前端特效之毛玻璃-倾斜-日历

前端特效之毛玻璃-倾斜-日历描述项目效果index.htmlindex.css描述 项目描述开发语言HTML、JavaScript、CSS库dyCalendarJS、vanilla-tilt 该项目中需要使用到的库有&#xff1a; dyCalendarJS vanilla-tilt.js 是 JavaScript 中的一个平滑的 3D 倾斜库。vanilla-tilt dyCalen…

MS SQL Server 日志审核工具

手动审核数据库活动是一项艰巨的任务。有效实现这一目标的最佳方法是使用全面的解决方案来简化和自动化数据库和活动监控。该解决方案还应使数据库管理员能够监控、跟踪、即时识别任何操作问题的根本原因&#xff0c;并实时检测对机密数据的未经授权的访问。 审核 Microsoft S…

Bootstrap踩坑笔记(记录Bootstrap当中的核心知识点)

目录 1.Bootstrap官网 2.核心1:布局&#xff08;栅格系统&#xff09; 3.核心知识点3:响应式布局 A.容器 B.行 C.列 注意: D.案例: E.列偏移 F.列排序 4. 样式 A.按钮 B.图片 C.表格 5.组件 A.导航条 B.分页条 C.js插件 1.Bootstrap官网 Bootsrap官网 2.核心1…

docker入门(二):docker的常用命令

文章目录前言docker常用命令1 启停类/帮助 命令2镜像命令3 容器命令结语前言 大家好&#xff0c;这是我学习docker系列的笔记文章&#xff0c;目标是掌握docker,为后续学习K8s做准备。本文列举了docker的常用命令&#xff0c;感兴趣的朋友可以看一下以前的文章。 上一篇&#…

处理Springboot项目启动时streamBridge.send导致的卡住卡死问题

现象 我们的Spring Boot 项目启动时&#xff0c;偶现卡死的现象&#xff0c;启动到一半卡主不动了 2023-01-16 10:23:10.338 INFO 1 --- [ restartedMain] com.hazelcast.core.LifecycleService : [172.18.0.14]:5701 [dev] [4.2.4] [172.18.0.14]:5701 is STARTED 20…

Unity脚本 --- 常用API(常用类) --- Component类和Transform类

上面这个是Unity核心类图 第一部分 --- Component类 提供了查找组件的方法&#xff08;当前物体的&#xff0c;子物体&#xff0c;父物体的&#xff09; 1.颜色&#xff08;color&#xff09;是材质&#xff08;meterial&#xff09;控制的&#xff0c;meterial&#xff08…

【FreeRTOS】在Cortex-M4开发板上移植FreeRTOS并且实现LED灯闪烁(保姆级教程)

相信有不少小伙伴手上只有M4的开发板&#xff0c;想要移植FreeRTOS&#xff1b;但是&#xff0c;网上大部分都是M3移植教程。因此&#xff0c;陷入深深的迷茫中&#xff0c;难不成只能使用仿真了&#xff1f;&#xff1f;&#xff1f;&#x1f914;因此&#xff0c;小编特意写了…

【Linux】静态库和动态库

Linux为什么不允许普通用户给目录建立硬链接呢&#xff1f; 系统层面上有.和…硬链接指向目录。假设我们是超级用户&#xff0c;允许给目录建立硬链接&#xff0c;给根目录建立硬链接&#xff0c;从根目录开始查找&#xff0c;当查找硬链接的时候就是根目录&#xff0c;这时候递…

面试官让我聊聊 MQ 的数据丢失问题,没想到水这么深。。。

目录 一、背景引入二、Kafka分布式存储架构三、Kafka高可用架构四、画图复现Kafka的写入数据丢失问题五、Kafka的ISR机制是什么&#xff1f;六、Kafka写入的数据如何保证不丢失&#xff1f;七、总结 一、背景引入 这篇文章&#xff0c;给大家聊一下写入Kafka的数据该如何保证…

Git常用命令(全局设置获取仓库)

新建仓库: 填写名称等信息&#xff0c;根据需要选择私有&#xff0c;开源等选项。 创建完成。 邀请成员&#xff1a; Git常用命令 Git全局设置 首先要做的是设置用户名和email地址。这是非常重要的&#xff0c;每次Git提交都会使用该用户信息。 设置用户信息&#xff1a; …