Hadoop 向启动map reduce作业的代码的类路径添加JAR
我正在尝试从实现工具接口的应用程序启动map reduce作业。 该应用程序很少做其他事情,比如map reduce作业的先决条件 这个类使用一些第三方lib,如何在运行jar时使用以下命令将这些jar添加到类路径:hadoop jarHadoop 向启动map reduce作业的代码的类路径添加JAR,hadoop,mapreduce,classpath,Hadoop,Mapreduce,Classpath,我正在尝试从实现工具接口的应用程序启动map reduce作业。 该应用程序很少做其他事情,比如map reduce作业的先决条件 这个类使用一些第三方lib,如何在运行jar时使用以下命令将这些jar添加到类路径:hadoop jar[args] 由此,我尝试将HADOOP_CLASSPATH env var设置为第三方jar,但没有成功。 上面提到的第三方JAR仅是启动作业的类所需,而不是Mapper/Reducer类所需。所以我不需要把它们放在分布式缓存中 当我在$HADOOP_HOME/
导出HADOOP_CLASSPATH=$HADOOP_CLASSPATH:/path/to/my/jar1:/path/to/my/jar2这是您尝试调用mapred的时候。不是吗?或者即使在尝试hadoop fs-ls时也会出现异常?我没有发现任何hadoop-fs命令的异常,我在线程“main”java.lang.NoClassDefFoundError中发现了第三方jar中的类的异常。谢谢,这意味着您的每个映射过程也需要第三方jar。因此,如果您有多节点集群使用-文件,那么您也需要将这些JAR分发到其他机器option@almasshaikh-我不需要像问题中提到的那样将这些JAR放在分布式缓存中。无论如何,我发现了我的错误——使用HADOOP_类路径是有效的。早些时候,我在罐子之间使用了错误的分隔符。正确的分隔符依赖于操作系统,在我的例子(Unix)中,它应该是冒号(:)谢谢。