我有一个hadoop程序,其中使用了几个外部jar文件。当我将程序的jar文件提交到hadoop集群时,它给出了以下错误。
Exception in thread "main" java.lang.NoClassDefFoundError: edu/uci/ics/jung/graph/Graph
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:247)
at org.apache.hadoop.util.RunJar.main(RunJar.java:201)
我知道问题是什么,但不知道怎么解决。如何将jar文件添加到程序中?
3条答案
按热度按时间9cbw7uwe1#
提交以下作业时,可以使用libjars选项:
我建议您阅读这篇文章,详细描述您要寻找的内容:http://grepalex.com/2013/02/25/hadoop-libjars/
yfjy0ee72#
将外部jar文件添加到hadoop/lib文件夹以摆脱它。。。
beq87vna3#
我认为,还可以通过指定java\u library\u path或ld\u library\u path变量来显式修改作业运行任务尝试的环境:
hadoop jar[main class]-d mapred.child.env=“ld\u library\u path=/path/to/your/libs”。。。