本文主要是介绍flink常见错误(重要的已加粗),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
- Error:scalac: Error: scala.collection.immutable. c o l o n colon coloncolon.tl$1()Lscala/collection/immutable/List;
(1)scala版本问题,需更改项目scala版本,如下图
(2)或者加入import org.apache.flink.api.scala._ 解决scala版本冲突
- flink-quickstart要求的scala版本,在pom.xml文件中
在quickstart中
flink1.15 与 scala2.12.7兼容
flink1.10与 scala2.11.12兼容
- java.lang.ClassNotFoundException: org.apache.flink.api.common.typeinfo.TypeInformation
依赖被排除了(provided从打包文件中排除依赖,flink的运行环境中已经有这个依赖了,idea中运行的时候需要注释掉,或者设置idea为允许,默认排除是因为打包后的文件只有10几k,而不排除有几十M,而flink运行环境中提供了这些以来,而idea没有)
(1)项目允许找到排除的范围
(2)被排除的依赖解除排除
4. Exception in thread “main” org.apache.flink.runtime.client.JobExecutionException: Job execution failed.
(1)socket端口被占用或者没打开
解决方法:先nc -lk 9999打开想连接的端口,再运行代码,或者换端口运行
(2)根本问题是版本问题,早期版本StreamExecutionEnvironment中默认的数据处理时间使用的是处理时间(ProcessingTime),Flink1.14.3的StreamExecutionEnvironment中默认的时间配置从处理时间变为了事件时间。
把时间相关的代码删掉即可解决,如window()
或者设置时间语义
env.setStreamTimeCharacteristic(TimeCharacteristic.ProcessingTime)
-
此外quickstart的maven的main方法也要改一下(只影响打包,不影响运行)
-
maven爆红
install一下,再刷新一下,或者重进下idea -
发现未知类型不匹配错误,一定要检查导入的包,是否导入错了,如下图所示就是容易出现的错误
-
方法爆红,特别是集成第三方组件
手敲把方法所有内容写完再刷新,延迟有时候很大,且idea在集成第三方组件maven时非常不智能
这篇关于flink常见错误(重要的已加粗)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!