【问题标题】:Hadoop Error: Could not find or load main class class path TestJavaHadoop 错误:无法找到或加载主类类路径 TestJava
【发布时间】:2014-11-16 17:34:09
【问题描述】:

我是 Hadoop 新手,并且正在关注 Hadoop: The Definitive Guide 一书。我已经在我的 mac 上安装了 Hadoop,它似乎运行良好。我已经在 HDFS (/user/nick) 中建立了一个基本的文件系统。但是我无法按照第 3 章(第 56 页)的要求使用“hadoop”命令来执行类文件。它似乎不是文件,因为“hadoop”命令甚至无法打开 java 命令正常工作的简单文件。这是我的终端在简单文件中的样子:

Unix ~/Desktop $ java TestJava

你好测试世界

Unix ~/Desktop $ hadoop TestJava

错误:无法找到或加载主类 TestJava

我尝试过的所有其他 hadoop 命令都可以正常工作(hadoop -ls、hadoop -copyFromLocal、hadoop -mkdir 等),但是当类文件保存在桌面上时,hadoop CLASSNAME 不起作用。我总是得到错误:无法找到或加载主类 TestJava。

是我将类文件保存在错误的位置还是我设置的 hadoop 错误?

我是新手,我已经搜索了答案,但找不到解决方案。任何帮助将不胜感激。

谢谢,

尼克

【问题讨论】:

    标签: java hadoop


    【解决方案1】:

    您假设 hadoop 命令等同于 java 命令,但事实并非如此。基本上,您使用 Hadoop 命令运行 Mapred,您可以在其中编写 Mapper、Reducer(可选)、驱动程序代码,然后创建一个 jar 文件将所有这些文件并发出如下命令:

    hadoop jar myjar.jar DriverClass inputInHdfs OutputPathInHdfs
    

    你可以参考教程here

    【讨论】:

    • 感谢您的帮助。我会去学习教程。
    • 如果这有帮助,请接受此答案,以便将其关闭。
    • 谢谢。这也有帮助 -stackoverflow.com/questions/3606679/…
    • 我需要输入第一个 export HADOOP_CLASSPATH=/Users/Nick/Desktop
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-12
    • 2016-03-16
    相关资源
    最近更新 更多