当前位置: 首页 > 知识库问答 >
问题:

无法执行基本的Hadoop Mapreduce Wordcount示例

魏晨
2023-03-14
javac -classpath /usr/local/hadoop/share/hadoop/common/hadoop-common-2.7.3.jar -d wordcount_classes WordCount.java

我使用本教程设置了hadoop。我还在stackoverflow:question上查阅了这个信息,并在/usr/local/hadoop执行bin/hadoop classpath命令。这是我得到的输出:

/usr/local/hadoop/etc/hadoop:/usr/local/hadoop/share/hadoop/common/lib/*:/usr/local/hadoop/share/hadoop/common/*:/usr/local/hadoop/share/hadoop/hdfs:/usr/local/hadoop/share/hadoop/hdfs/lib/*:/usr/local/hadoop/share/hadoop/hdfs/*:/usr/local/hadoop/share/hadoop/yarn/lib/*:/usr/local/hadoop/

但我不知道该怎么做,也不知道我下一步该怎么做!请救命!

共有1个答案

满博
2023-03-14

您正在尝试使用许多hadoop依赖项JAR(hadoop-common-x.x.x.jar)之一编译源代码。包含错误消息中提到的映射包的jar是hadoop-mapreduce-client-core jar。

我建议您使用构建工具(如Maven或Gradle)构建源代码,因为它将为您管理可传递依赖项。

或者继续手动调用javac,尝试如下所示(未经测试):

javac -cp '/usr/local/hadoop/share/hadoop/common/*' \
  -cp '/usr/local/hadoop/share/hadoop/hdfs/lib/*' \
  -cp '/usr/local/hadoop/share/hadoop/hdfs/*' \
  -cp '/usr/local/hadoop/share/hadoop/yarn/lib/*' \
  -cp '/usr/local/hadoop/share/hadoop/yarn/*' \
  -cp '/usr/local/hadoop/share/hadoop/mapreduce/lib/*' \ 
  -cp '/usr/local/hadoop/share/hadoop/mapreduce/*' \
  -d wordcount_classes WordCount.java
 类似资料:
  • tasks是从上到下顺序执行,如果中间发生错误,那么整个playbook会中止。你可以改修文件后,再重新执行。 每一个task的对module的一次调用。使用不同的参数和变量而已。 每一个task最好有name属性,这个是供人读的,没有实际的操作。然后会在命令行里面输出,提示用户执行情况。 语法 task的基本写法: tasks: - name: make sure apache is run

  • 开始之前 我们在开始之前先来介绍在windows平台中常用到的几种脚本 Bat 这就是我们常用的Bat脚本,全名为批处理文件,脚本中就是我们在CMD中使用到的命令,这里提一个小问题: CMD的命令行执行命令的优先级是.bat > .exe,那么假如我放一个cmd.bat在system32目录下,那么优先执行的是cmd.bat,这里面的内容就变得不可描述起来了 VBscript 执行vbs就是常说的

  • 问题内容: 我在中有我的php脚本文件。何时运行,它运行完美。 我想通过sh文件调用PHP文件,SH文件的位置如下 这是文件的内容是: 当我运行时,它也可以完美运行。 现在,如果我按如下所示设置crontab: 但是,此crontab无法正常工作。 有什么事吗 问题答案: 从注释中可以看出,问题在于您没有定义应使用哪个程序来执行脚本。考虑到cronjob是在很小的环境中执行的;在那里,没有什么可以

  • Serde文档说: 所有这些都可以使用开箱即用的Serde进行序列化。 serde_json只是为了举例,一般不需要。 这正是我所需要的,一个结构到一些基本二进制格式的基本序列化。我不需要JSON格式,我想保持简单,以便能够在文件中存储struct或将其发送到网络。文档并不清楚如何使用serde进行基本(二进制或默认)序列化,它只显示了一个JSON的例子,但这不是我要找的。我也不想实现我自己的<

  • 我在尝试编译 eXo 平台时遇到麻烦。 错误消息是: < code >原因:java.io.IOException:无法运行程序“/exo/platform-public-distributions-develop/PLF-community-Tomcat-standalone/target/platform-community-5.0 . x-SNAPSHOT/platform-communit

  • 我试图将selenium test之一迁移到空手道,同时这样做我正在使用在留档中定义的script()方法,该方法在空手道中用于评估给定字符串为浏览器内的JavaScript,但我得到了这个 还分享我的功能文件,其中得到失败: 甚至我也试着在脚本中调用下面的语句,但仍然得到相同的错误 我正在使用gatling版本