我是Hadoop的新手,并且正在阅读Hadoop:The Definitive Guide一书。我已经在我的Mac上安装了Hadoop,这似乎运行良好。我在HDFS(/ user / nick)中设置了一个基本文件系统。但是我无法获得' hadoop'命令执行第3章(第56页)中要求的类文件。它似乎不是文件,因为' hadoop'命令甚至不会打开一个简单的文件,其中java命令工作正常。这就是我的终端对于简单文件的看法:
Unix~ / Desktop $ java TestJava
Hello Test World
Unix~ / Desktop $ hadoop TestJava
错误:无法找到或加载主类TestJava
我尝试过的所有其他hadoop命令工作正常(hadoop -ls,hadoop -copyFromLocal,hadoop -mkdir等),但是当类文件保存在桌面上时,hadoop CLASSNAME不起作用。我总是得到错误:无法找到或加载主类TestJava。
我是否将类文件保存在错误的位置或者是否设置了hadoop错误?
我是新手,并且已经找到了答案,但无法找到解决方案。任何帮助将不胜感激。
谢谢,
尼克
答案 0 :(得分:2)
您假设hadoop命令等同于java命令,而不是这种情况。基本上你用Hadoop命令运行Mapred,你在其中编写Mapper,Reducer(可选),驱动程序代码,然后你创建一个jar文件将所有这些文件发出命令,如:
hadoop jar myjar.jar DriverClass inputInHdfs OutputPathInHdfs
您可以参考教程here