Error: Could not find or load main class <class_name>
我在尝试使用hadoop definitive guide的代码做练习时,遇到一个问题,
hadoop URLCat hdfs://namenode/data/input/test.txt
报找不到URLCat的错误
这种类型的错误造成的原因是要找到的类不在hadoop的 classpath中。
你可以使用hadoop classpath命令查看classpath.
其实你vi hadoop的时候,你就可以看到hadoop本身是一个shell文件,它里面有相关的处理,其中有一个就是classpath.
它会把HADOOP_CLASSPATH的值赋给classpath.
所以我们客户端调用hadoop命令前,可以直接把自己编译的文件夹设置到此即可。
所以:
export HADOOP_CLASSPATH=/path/to/class
注意这里的路径,如果你的类编译到了/home/hadoop/class/文件夹下面,那你就可以设定成这个folder,
加上class文件的名字就不对了。