你好,
假设 xxx.shade. 是你用于 shade 的前缀。
grep -rn 'org.apache.hudi.com.xx.xx.xxx.A'  和grep -rn
'xxx.shade.org.apache.hudi.com.xx.xx.xxx.A'  出来的结果一致吗?

℡小新的蜡笔不见嘞、 <1515827...@qq.com.invalid> 于2024年7月18日周四 20:14写道:

> 您好,感谢您的回复。
> 我理解应该是都做了 shade 处理,我这边用了您的 grep -rn 命令查看了下没问题。而且,这个
> 'org.apache.hudi.com.xx.xx.xxx.A'&nbsp; 在我的任务 jar 里面确实是存在的
>
>
>
>
> ------------------&nbsp;原始邮件&nbsp;------------------
> 发件人:
>                                                   "user-zh"
>                                                                     <
> decq12y...@gmail.com&gt;;
> 发送时间:&nbsp;2024年7月18日(星期四) 晚上7:55
> 收件人:&nbsp;"user-zh"<user-zh@flink.apache.org&gt;;
>
> 主题:&nbsp;Re: flink 任务运行抛ClassNotFoundException
>
>
>
> 你好,这个类被 shade 了,但是调用这个类的其他类可能在不同的 jar 包,没有都被 shade 处理。可以 grep -rn
> 'org.apache.hudi.com.xx.xx.xxx.A' 看看所有调用这个类的包是不是都做了 shade 处理。
>
> ℡小新的蜡笔不见嘞、 <1515827...@qq.com.invalid&gt; 于2024年7月18日周四 18:31写道:
>
> &gt; 请问,Flink 任务运行期间 偶尔会抛出 ClassNotFoundException
> 异常,这个一般是什么原因,以及怎么解决呢?信息如下:
> &gt; * 这个类确实存在于 任务Jar 里面
> &gt; * 这个类是经过 shade 后的,因为 Flink 集群里面集成了这个依赖,所以需要将相关的类经过shade 处理
> &gt; * 这个问题偶尔出现,出现后可能会导致任务重启,并且重启后,任务可能恢复正常也可能继续因为这种异常继续失败
> &gt; * 当前集群是 session standalone 方式的
> &gt; * child first / parent first 方式都试过后,还是有这个问题
> &gt;
> &gt;
> &gt; 异常栈如下(JM节点):
> &gt; Caused by: java.lang.ClassNotFoundException:
> &gt; org.apache.hudi.com.xx.xx.xxx.A
> &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
> java.net.URLClassLoader.findClass(URLClassLoader.java:382)
> &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
> java.lang.ClassLoader.loadClass(ClassLoader.java:424)
> &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
> &gt;
> org.apache.flink.util.FlinkUserCodeClassLoader.loadClassWithoutExceptionHandling(FlinkUserCodeClassLoader.java:97)
> &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
> &gt;
> org.apache.flink.util.ParentFirstClassLoader.loadClassWithoutExceptionHandling(ParentFirstClassLoader.java:65)
> &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
> &gt;
> org.apache.flink.util.FlinkUserCodeClassLoader.loadClass(FlinkUserCodeClassLoader.java:81)
> &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; at
> java.lang.ClassLoader.loadClass(ClassLoader.java:357)
> &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ... 59 more
> &gt;
> &gt;
> &gt;
> &gt; 感谢大家

回复