两点需要注意的地方,
1.环境变量/系统变量,里面的 JAVA_HOME 必须,使用
C:\Progra~1\Java\jdk1.8.0_341
这种方式,
C:\Progra~1\Java\jdk1.8.0_341 去替代 C:\Program Files\Java\jdk1.8.0_341
即
C:\Progra~1 替代 C:\Program Files
其他方式,比如用双引号将 C:\Program Files\Java\jdk1.8.0_341 括起来的方式,我测试过了,不好使
请注意,产生错误的原因是,Hadoop没有识别 Java的路径,
没有识别的原因是,Java的路径中 含有空格,即 Program Files 中间的空格
虽然在Windows环境下, C:\Program Files\Java\jdk1.8.0_341 这种格式的’系统变量’调用java是没有问题的,
但是,在 Hadoop 调用 Java 的时候,就会因为不识别 Java 的路径而报错:不是内部或外部命令,
所以,在给 Hadoop 的 Java 接口时,就要将这个问题避免,
采用的方法是,缩写 Program Files 成 Progra~1
Progra~1 是一个规范的写法,只要在不重名 的情况下,
Progra~1 可以唯一标识 Program Files
而且这也是在Windows环境下,认可的正确写法,
所以,用 Progra~1 替代 Program Files后,
Windows环境中使用 Java没有问题,
Hadoop 调用 Java 也没有问题.
Hadoop,默认安装路径下的 etc/hadoop/hadoop-env.cmd 的文件需要修改,
其中的 java路径 ,
set JAVA_HOME=%JAVA_HOME%
需要写成上面的样子.文章来源:https://www.toymoban.com/news/detail-415549.html
August the 23th 2022 Tuesday文章来源地址https://www.toymoban.com/news/detail-415549.html
到了这里,关于hadoop 报不是内部或外部命令的解决办法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!