eclipse—尝试运行map reduce作业时“不是有效的jar”

n8ghc7c1  于 2021-06-04  发布在  Hadoop
关注(0)|答案(3)|浏览(401)

我试图通过从eclipse构建jar来运行mymapreduce作业,但是在尝试执行作业时,出现了“notavalidjar”错误。
我试着跟踪一个无效的jar链接,但是没有帮助。
有人能告诉我如何从eclipse构建jar,以便在hadoop上运行吗。
我知道从eclipse构建jar文件的过程,但是我不确定,构建jar文件时是否需要特别小心,以便它在hadoop上运行。

umuewwlo

umuewwlo1#

提交命令时,请确保行中有以下内容来执行命令:
当您指示jar时,确保您正确地指向jar。使用绝对路径可能最容易确定。要获取绝对路径,如果您导航到jar所在的位置,则运行'readlink-f'命令获取绝对路径。因此,对于您来说,不仅是hist.jar,还可以是/home/akash\u user/jars/hist.jar或系统上的任何地方。如果您使用的是eclipse,那么它可能会将它保存在一个有趣的地方,因此请确保这不是问题所在。jar不能从hdfs存储运行。必须从本地存储运行。
在示例直方图中,命名主类时,必须将类的完全限定名与包、项目和类一起使用。因此,通常,如果程序/项目名为histogram,并且有historogramdriver、historogramapper、historogramreducer,并且main()位于historogramdriver中,则需要键入histogram.historogramdriver才能运行程序(除非你让你的jar可以运行,这在开始的时候需要额外的东西,making.mdf等等。)

qnakjoqk

qnakjoqk2#

确保您提交的jar(hist.jar)位于您提交'hadoopjar'命令的当前目录中。
如果问题仍然存在,请告诉您使用的java、hadoop和linux版本。

bkkx9g8r

bkkx9g8r3#

在执行mapreduce作业时,不应该将jar文件保存在hdfs中。确保jar在本地路径中可用。输入路径和输出目录应该是hdfs的路径。

相关问题