csdnhadoop 2020-06-04
错误Error: A JNI error has occurred, please check your installation and try again
??下面还有其他报错但我没有截到,但问题的原因都是这个??
这个错误一般情况是由于java 版本 与javac 版本不同所导致的报错,即在cmd命令下分别使用java -version
和javac -version
得到的版本号是不一样的
如果你是这种原因的话,使用旧版本java卸载工具将旧版本卸载即可
但是!!! 我们(我)并没有用这种办法解决问题QAQ
所以我的问题在于Hadoop的JAVA_HOME版本设置未更改,关于Hadoop的JAVA_HOME修改可以参考:
编辑文件C:\Hadoop\etc\hadoop\hadoop-env.cmd,将语句: “set JAVA_HOME=%JAVA_HOME%” 修改为“set JAVA_HOME=C:\PROGRA~1\Java\jdk1.8.0_192”。 (注意:此处有坑。如果将hadoop-env.cmd中的JAVA_HOME设置为“C:\Program Files\Java\jdk1.8.0_192”,将会出错,因为路径中不能含有空格。)
但但但是!!我的问题依然没有解决,那么咋办呢?
修改spark的启动脚本就可以了!,具体位置在:
修改slaves.sh文件,在文件的顶端添加:
# 解决方法: 在启动脚本最前边添加系统参数,指定Java版本 export JAVA_HOME=/usr/java/jdk1.8.0_181-amd64/jre //这里使用你自己的JAVA_HOME
就可以了!