flink常见错误(重要的已加粗)

博客内容涉及Flink运行时遇到的错误及解决方法,包括scala版本不兼容、ClassNotFoundException、JobExecutionException等。提到了修改pom.xml文件、调整Scala版本、解决端口占用和时间语义设置等问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  1. Error:scalac: Error: scala.collection.immutable.coloncoloncoloncolon.tl$1()Lscala/collection/immutable/List;
    (1)scala版本问题,需更改项目scala版本,如下图
    (2)或者加入import org.apache.flink.api.scala._ 解决scala版本冲突
    在这里插入图片描述
  2. flink-quickstart要求的scala版本,在pom.xml文件中
    在quickstart中
    flink1.15 与 scala2.12.7兼容
    flink1.10与 scala2.11.12兼容
    在这里插入图片描述
  3. 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)

在这里插入图片描述

  1. 此外quickstart的maven的main方法也要改一下(只影响打包,不影响运行)
    在这里插入图片描述

  2. maven爆红
    install一下,再刷新一下,或者重进下idea

  3. 发现未知类型不匹配错误,一定要检查导入的包,是否导入错了,如下图所示就是容易出现的错误
    import org.apache.flink.table.runtime.operators.window.TimeWindow

  4. 方法爆红,特别是集成第三方组件
    手敲把方法所有内容写完再刷新,延迟有时候很大,且idea在集成第三方组件maven时非常不智能

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值