Flink里面有一个神坑,叫做FI坑。其实只是使用Fi的时候被暴露出来。但是,杀不死你的,终将使你更加强大。

Flink集群有一个lib文件件,里面比较happy,可以放各种jar;这样,client端在提交的时候就不需要把全jar打成一个肥肥,只需要增量的把包放到client端lib文件夹里面即可。

这个其实是一个非常人性化的设置;但是,加入没有人告诉你Flink集群这种机制,你已提交全量包,发现各种冲突,各种函数找不到,是不是很懵逼?

这个可能是二次封装友好性问题了。但是这里一个知识点:Flink集群以及client有一个lib的地方,可以放置jar包,集群的jar包是避免打包过大的优化处理;client端的lib是用来存放增量的jar包。

另外如果你在不断的提交和修改client的jar包,那么可能会有缓存现象,这样你调整的结果并不会体现出来(只要jar包存在一次就会一直存在);直到你重启一个yarn的session才会重置client端提交的jar包。

基本处理模式:如果已经添加了对应jar包,但是仍然报相同的类找不到,OK,重启yarn-session;报一些乱七八糟的错误,看不懂,没有头绪的异常,重启yarn-session;如果添加完了jar包,发现初始化错误(没有了ClassNotFound/Def),此时很可能是该jar包相关依赖需要添加。

这里要说一下,eclipse里面解析maven的依赖树讲真给力。比如com/carrXXX/hppc/YYY找不到,我尝试搜一下carr结果自动跳出了hpcc的包,已经实现了深度搜索。

Flink神秘工具lib的更多相关文章

  1. 【翻译】Flink Table Api & SQL — Hive —— 在 scala shell 中使用 Hive 连接器

    本文翻译自官网:Use Hive connector in scala shell  https://ci.apache.org/projects/flink/flink-docs-release-1 ...

  2. 搭建高可用的flink JobManager HA

    JobManager协调每个flink应用的部署,它负责执行定时任务和资源管理. 每一个Flink集群都有一个jobManager, 如果jobManager出现问题之后,将不能提交新的任务和运行新任 ...

  3. 基于electron+vue+element构建项目模板之【改造项目篇】

    1.概述 开发平台OS:windows 开发平台IDE:vs code 上一篇中已完成了electron-vue项目的创建,本篇章中则介绍在此项目基础上进行取消devtools的安装.项目结构的改造. ...

  4. React学习笔记---项目构建

    简介 ReactJs由于有FB的支持,得到了社区的极大关注,同时由于ReactJs只希望专一的做好View层次上的工作,所以本身并没有涉及很多周边工具. 今天要介绍一款工具,同时包含一个构建项目模板的 ...

  5. 前端构建:Less入了个门

    一.前言   说到前端构建怎能缺少CSS预处理器呢!其实CSS的预处理器有很多啦,比较出名的有Scss.Sass.Stylus和Less.(最近还听说出现了Autoprefixer等CSS后处理器,可 ...

  6. 最简单的视频编码器:编译(libx264,libx265,libvpx)

    ===================================================== 最简单的视频编码器系列文章列表: 最简单的视频编码器:编译 最简单的视频编码器:基于libx ...

  7. webpack+gulp实现自动构建部署

    项目结构说明 . ├── gulpfile.js # gulp任务配置 ├── mock/ # 假数据文件 ├── package.json # 项目配置 ├── README.md # 项目说明 ├ ...

  8. UCOSii项目在NIOSii上的移植

    概览 本次使用Altera公司的NIOS II软核. 使用Quatus工具生成BSP并利用BSP打包工具生成UCOSII嵌入环境. 手动书写LCD驱动与显示函数,对UCOS II加入简单图像显示接口. ...

  9. 01-Redhat/Centos7网卡命名介绍及修改方式

    1. Redhat/Centos7网卡命名介绍 1.1 网络设备命名 Redhat/Centos7提供在网络接口中使用新的网络设备命名方法.这些功能会更改系统中的网络接口名称,以便定位和区分这些接口. ...

随机推荐

  1. PTA --- 时间复杂度 选择题

    1-1 2​N​​和N​N​​具有相同的增长速度. (2分) T         F 作者: DS课程组 单位: 浙江大学 1-2 (NlogN)/1000是O(N)的. (1分) T         ...

  2. python基础知识总结(二)

    基础数据类型初始: int(数字):+ 加     - 减 *  乘 /  除 % 取余数 str(字符串):python中凡是用引号引起来的都是字符串 可以相加,用来表示字符串的拼接 可以相乘,只能 ...

  3. 设置eclipse联想功能

    当我们在用eclipse的时候,怎么能够让自己的编码速度加快?我想利用eclipse的提示功能是其中的方法之一.下面就利出配置eclipse联想功能(代码的提示功能)的步骤: 1. 打开Eclipse ...

  4. 闪付卡(QuickPass)隐私泄露原理

    0×00 前言 说到闪付卡,首先要从EMV开始,EMV是由Europay,MasterCard和VISA制定的基于IC卡的支付标准规范.目前基于EMV卡的非接触式支付的实现有三个:VISA的payWa ...

  5. anaconda3下64位python和32位python共存

    查看当前工作平台:conda info 切换64位和32位: set CONDA_FORCE_32BIT=1是切换到32位 set CONDA_FORCE_32BIT= 是切换到64位 注意=号前后不 ...

  6. JavaScript作用域[[scope]]

    [[scope]] : 隐式的属性 每个JavaScript函数都是一个对象,对象中有些属性可以访问,而有些属性是不可以访问的,这些属性仅供JavaScript引擎存取, [[scope]]就是其中一 ...

  7. geoserver 安装部署发布

    转载:https://blog.csdn.net/u010763324/article/details/80719229 1. 从http://geoserver.org/下载GeoServer安装包 ...

  8. iBATIS typeHandler selectKey

    typeHandler 是针对把数据库里面的某列的数据类型转换的应用程序中的数据类型,简单的说就是把 type=>dbType  反之把dbType=>type. 例如数据库某列的内容是l ...

  9. SQL设置时间格式

    SELECT STR_TO_DATE('Jul 20 2013 7:49:14:610AM','%b %d %Y %h:%i:%s:%f%p') from DUAL; -- 执行后得到结果:'2013 ...

  10. 怎么在Mac中的Safari查看网页源码

    一般情况下,Safari中右键是没有查看网页源文件这个选项的: 但是通过设置是可以看到的~ 1.首先找到电脑左上角的Safari然后选择偏好设置: 2.接着选择 “高级”页签,勾选最下面的 “在菜单栏 ...