[英]Why can't Spark find the classes in this Jar?
我是新来的火花。 我正在尝试编译和运行一个火花应用程序,该应用程序需要本地计算机上(外部)jar文件中的类。 如果打开罐子(在〜/ Desktop上),我可以看到本地罐子中缺少的类,但是当我运行spark时,我得到了
NoClassDefFoundError: edu/stanford/nlp/ie/AbstractSequenceClassifier
我将罐子添加到这样的火花上下文中
String[] jars = {"/home/pathto/Desktop/stanford-corenlp-3.5.0.jar"};
SparkConf conf = new SparkConf().setAppName("Simple Application").setJars(jars);
然后我尝试运行这样的提交脚本
/home/pathto/Downloads/spark-1.2.0-bin-hadoop2.4/bin/spark-submit \
--class "SimpleApp" \
--master local[4] \
target/simple-project-1.0.jar \
--jars local[4] /home/abe/Desktop/stanford-corenlp-3.5.0.jar
并点击NoClassDefFoundError。
我知道这意味着工作线程无法从jar中找到类。 但是我不确定我在做什么错。 我为最后一行(如下)尝试了不同的语法,但是没有任何效果。
--addJars local[4] /home/abe/Desktop/stanford-corenlp-3.5.0.jar
--addJars local:/home/abe/Desktop/stanford-corenlp-3.5.0.jar
--addJars local:/home/abe/Desktop/stanford-corenlp-3.5.0.jar
如何解决此错误?
尝试使用file:/path/to/jar/jarfile.jar/
指定jar文件的位置。 使用local:
意味着jar文件必须已经存在于每个工作程序节点上的指定位置。 有关更多信息,请参见“ 提交应用程序”文档的“高级依赖关系管理”部分。
您应该使用主类的完整路径。 :com.package.MyMainClass
./bin/spark-submit --class com.MyMainClass /home/hadoop/Documents/Harish/HelloSpark-0.0.1-SNAPSHOT.jar -config /home/hadoop/Documents/Harish/Config.properties
这就是我使用的...。还要检查Linux机器上的权限。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.