hortonworks hadoop使用virtualbox-执行jar

5tmbdcev  于 2021-05-29  发布在  Hadoop
关注(0)|答案(1)|浏览(375)

我是hadoop初学者。因此,我试图通过简单的例子来了解环境。因此,我创建了一个jar来执行wordcount,其中一个是hadoop:在5分钟内设置maven项目。我的问题是:我不可能在hortonworks沙盒中执行.jar。每次出现错误时:
警告:使用“Yarn罐”启动Yarn应用程序。
不是有效的jar:/user/maria\u dev/wordcount3.jar
要启动jar,我执行了以下步骤:
使用maven项目在eclipse中创建java类。
导出可运行的jar文件。
将jar加载到hdfs中(使用ambari)。
使用以下命令调用jar(使用root用户,也尝试使用ssh和不使用ssh): hadoop jar /user/maria_dev/wordcount3.jar /user/maria_dev/BlackArrow.txt /user/maria_dev /

hadoop jar /user/maria_dev/wordcount3.jar de.kja. wordcount3. wordcount /user/maria_dev/BlackArrow.txt /user/maria_dev/

在这两种情况下,我从上面得到的错误。。。
所以我有以下想法:
我的java类有一个错误->我尝试了其他各种各样的例子,都不起作用。但是,尝试将每个java文件的主类作为java应用程序运行时,会出现以下错误之一:
线程“main”java.lang.arrayindexoutofboundsexception中出现异常:0位于de.kja.wordcount2.wordcount.main(wordcount)。java:47)

用法:wordcount[generic options]支持的通用选项是-conf指定应用程序配置文件-d为给定属性使用值-fs指定名称节点-jt指定作业跟踪器-files指定要复制到Map的逗号分隔文件reduce cluster-libjars指定要包含在类路径中的逗号分隔jar文件-归档文件指定要在计算机上取消归档的逗号分隔的归档文件。一般的命令行语法是bin/hadoop命令[genericoptions][commandoptions]
我读到jar文件不需要上传到hdfs。所以你必须把它加载到虚拟盒子的本地文件中吗?如果是:我怎么做?
hadoop版本:2.7.1.2.4.0.0-169
如果您需要更多信息,请询问!感谢您的帮助:)

44u64gxh

44u64gxh1#

在虚拟机中,打开linux终端
su-ambari qa公司
Yarnjar/usr/hdp/current/hadoop-mapreduce-client/hadoop-mapreduce-examples.jar teragen 1000/tmp/genout
Yarnjar/usr/hdp/current/hadoop-mapreduce-client/hadoop-mapreduce-examples.jar terasort/tmp/genout/tmp/sortout
Yarnjar/usr/hdp/current/hadoop-mapreduce-client/hadoop-mapreduce-examples.jar teravalidate/tmp/sortout/tmp/valout
这是一个确保您能够从沙盒运行作业的示例。
你需要以jar的身份运行你的代码。。。。

相关问题