背景:客户集群内偶尔会出现java.io.InvalidClassException: org.apache.kudu.spark.kudu.KuduRDD; local class incompatible: stream classdesc serialVersionUID = 1, local class serialVersionUID = 1738372855795541573,公司集群从未出现。
之前一直以为是版本问题,查找发现版本是一致的。
后查看yarn日志,发现只要报错的监控都跟某个节点相关。于是具体关注该节点
-
通过指令查看集群内的kudu相关包
-
发现报错的节点的spark目录有多余的jar
移除后问题解决 -
原理spark任务运行时,driver节点的jar包和executor节点必须保持一致,出现此问题一般就是包版本冲突或者有多余的包