快捷搜索: 王者荣耀 脱发

hadoop 报不是内部或外部命令的解决办法

两点需要注意的地方, 1.环境变量/系统变量,里面的 JAVA_HOME 必须,使用 C:Progra~1Javajdk1.8.0_341 这种方式, C:Progra~1Javajdk1.8.0_341 去替代 C:Program FilesJavajdk1.8.0_341 即 C:Progra~1 替代 C:Program Files 其他方式,比如用双引号将 C:Program FilesJavajdk1.8.0_341 括起来的方式,我测试过了,不好使

请注意,产生错误的原因是,Hadoop没有识别 Java的路径, 没有识别的原因是,Java的路径中 含有空格,即 Program Files 中间的空格 虽然在Windows环境下, C:Program FilesJavajdk1.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% 需要写成上面的样子.

August the 23th 2022 Tuesday

经验分享 程序员 微信小程序 职场和发展