1.问题一:出现找不到主类(java -version运行正常,hadoop运行出错)
前言
关于Hadoop环境配置的过程以及出现的一系列问题解决。
系统:window10
此为本人学习过程,仅供参考。
一、使用步骤
1.jdk下载
本期学习采用jdk1.8.0_251版本,必须保证在1.8版及以上,低版本会出现错误。
注意:最好保持默认安装在C盘,不要改地址,否则影响后续操作。该版本jdk包含jre,不用额外添加jre。
2.eclipse下载
2.1eclipse采用win32_x86版,此处不提供
2.2 确保jdk路径正确
打开eclipse文件夹下的eclipse.ini,发现该文件下的jdk的路径与之前安装的路径不符,需要改成之前安装jdk的路径。否则出现问题二的情形。
3.jdk与eclipse环境配置
此电脑——右键进入属性——高级系统设置——环境变量。
注意:在系统变量中进行操作,不是用户变量中。
3.1 添加变量JAVA_HOME,值为jdk安装路径,例如:
如果上述jdk默认安装路径,则在C盘的Progarm Files里面的java文件夹下面。
C:\Progarm Files\Java\jdk1.8.0_251
3.2 添加变量CLASSPATH,值为
.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\tools.jar
由于上面已经给jdk安装路径定义了变量,此处直接引用即可(引用变量外面需要带上%%),也可以再次输入路径。
注意:该项前面有“.;”,英文标点中的句号和分号。
3.3 为变量path添加下面的两个值,不要覆盖原有值:
%JAVA_HOME%\bin
%JAVA_HOME%\jre\bin
3.4 测试
打开命令控制符cmd,在C盘路径下输入命令:
java -version
显示安装版本,即为成功。
4.Hadoop使用
4.1 hadoop路径
本期采用hadoop2.7.4版,存放路径不能带有中文,也不能带有空格,否则后续Hadoop可能不能识别导致出现错误。
可以放在其他盘下面,C盘太辛苦了。
4.2 windows环境配置
此电脑——右键进入属性——高级系统设置——环境变量。
注意:在系统变量中进行操作,不是用户变量中。
4.2.1 添加变量HADOOP_HOME,值hadoop的路径,例如:
E:\hadoop\hadoop2.7.4
4.2.2 为path添加下面的值:
%HADOOP_HOME%\bin
此处同样引用Hadoop的路径。
4.3 添加Hadoop.dll文件到系统盘
将hadoop2.7.5文件夹中bin目录下的hadoop.dll文件放到系统盘C:\Windows\System32 目录中。
4.4 修改hadoop-env.cmd文件内容
hadoop2.7.4文件夹下的etc\hadoop\hadoop-env.cmd文件,进行编辑,原文档部分内容如下:
此时发现与开始的默认路径不同,需要修改路径,但是这里不能直接使用原jdk所在的路径C:\Progarm Files\Java\jdk1.8.0_251,因为路径不能含有空格,否则Hadoop不能识别。此处需要用简写PROGRA~1代替Progarm Files。
PROGRA~1是 C:\Program Files 目录的dos文件名模式下的缩写 。DOS系统文件夹名,文件名简写的原则是:长于8个字符的文件名和文件夹名,都被简化成前面6个有效字符,后面~1,有重名的就 ~2,~3。
4.5 重启电脑
4.6 测试
打开命令控制符cmd,在Hadoop文件夹路径所在盘下输入命令:
hadoop version
出现hadoopb版本,即可成功。
二:问题展示
1.问题一:出现找不到主类(java -version运行正常,hadoop运行出错)
解决方法:修改hadoop2.7.4文件夹下的etc\hadoop\hadoop-env.cmd文件,在该文件的最后一行如下:
set HADOOP_IDENT_STRING=%USERNAME%
修改:“USERNAME”为本机的用户名,并添加'' '',如下
set HADOOP_IDENT_STRING=%“用户名”%
2.问题二:出现点击eclipse.exe不能运行
问题原因: 通过路径找不到jdk,发现这里的jdk的路径和之前不符,要改。
解决方法:见本文档的2.2部分。
3.问题三:出现‘-Xmx512m’不是内部或外部指令
问题原因:JAVA_HOME的路径问题。
解决方法:见本文档的3.4部分,一定要保证jdk安装路径和hadoop-env.cmd文件内容中的JAVA_HOME的路径一致。
总结
在过程中出现许多问题,求助过同学,求助过老师,非常感谢。