在你安装并配置好自己的hadoop时,按照安装教程键入hadoop version验证是否安装成功是,或许你就不走运,shell就输出一行Error:Could not find or load main class........,接着你就像我一样各种百度谷歌,翻遍了优快云、stackoverflow等等,然后你就能从各种帖子中总结以下情况:
1、你的配置不完全;
2、你的配置不完全;
3、还是你的配置不完全;
最近因为工作的原因,将以前自己安装下来玩的hadoop 2.5.2重新启动一下,没想到报错了,我记得以前是在root权限上是可以启动的,但是换上另一个账户,执行了chmod 777 之后,却出现了这个莫名其妙的错误,一正纠结,反复尝试了网上的说法,也没有反应,最后再次查了一下安装的步骤发现书上写的修改权限的命令上有一个-R的参数,打了上去在执行一下hadoop version命令后,成功了!!!原来是权限的问题,带上-R参数,表示对文件夹下所有文件都有相同的权限 0.0 0.0 0.0
还有,hadoop 在2.4.0以后的配置都非常简便,不用配置那么多参数的,如果只是初学者尝试一下,大概只要配置java home,hadoop home以及各种path就行了,不要添加其他无关紧要的一大堆export,以下就是我的bashrc,仅供参考:
export JAVA_HOME=/home/cyrenchin7/Documents/jdk1.7
export CLASSPATH=.:$JAVA_HMOE/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export HIVE_HOME=/home/cyrenchin7/Documents/apache-hive-1.2.2-bin
export HADOOP_HOME=/home/cyrenchin7/Documents/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$HADOOP_HOME/lib
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
以上,只是提供另外一种解决方案,仅供参考