我在类加载器地狱-hadoop(高达2.7.2)使用了过时的httpclient版本(4.2.5)
https://hadoop.apache.org/docs/r2.7.2/hadoop-mapreduce-client/hadoop-mapreduce-client-core/dependency-analysis.html
这与我使用的httpclient 4.5.1版本冲突。在emr作业中,我尝试先加载用户类路径,但后来在编解码器类上发生冲突。我甚至重写了类以使用旧版本(4.2.5),但仍然有一些冲突。
在我的emr工作中,如何打印stdout/stderr或其他地方的完整类路径,以便调试类路径中的jar?
我知道如何获得一个“普通的”java类路径,但我想知道是否有任何方面可能是hadoop和/或emr特定的,以包括hadoop/emr jar。
1条答案
按热度按时间holgip5t1#
下面是我使用系统类加载器的过程,我将它添加到hadoop驱动程序类中
(阅读这里的类加载器类型之间的区别线程的上下文类加载器和普通类加载器之间的区别)
我在emr的stdout上得到了以下输出