627.【hadoop】解决java.io.IOException: Cannot run program “bash”
一、问题详情
环境说明
- JDK版本:19
- hadoop版本: 3.2.2
- 操作系统版本: centos 7.6
描述
今天在部署hadoop的时候,在执行 start-dfs.sh
遇到下面的问题,提示我 Cannot run program "bash"
,我心里一纳闷,这是linux系统,bash
会执行不了?
2023-04-02 05:19:05,423 ERROR org.apache.hadoop.hdfs.server.namenode.NameNode: Failed to start namenode.
java.io.IOException: Cannot run program "bash": error=0, Failed to exec spawn helper: pid: 21051, exit value: 127
at java.base/java.lang.ProcessBuilder.start(ProcessBuilder.java:1143)
at java.base/java.lang.ProcessBuilder.start(ProcessBuilder.java:1073)
at org.apache.hadoop.util.Shell.runCommand(Shell.java:938)
at org.apache.hadoop.util.Shell.run(Shell.java:901)
at org.apache.hadoop.fs.DF.getFilesystem(DF.java:74)
at org.apache.hadoop.hdfs.server.namenode.NameNodeResourceChecker$CheckedVolume.(NameNodeResourceChecker.java:68)
at org.apache.hadoop.hdfs.server.namenode.NameNodeResourceChecker.addDirToCheck(NameNodeResourceChecker.java:161)
at org.apache.hadoop.hdfs.server.namenode.NameNodeResourceChecker.(NameNodeResourceChecker.java:130)
at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.startCommonServices(FSNamesystem.java:1204)
at org.apache.hadoop.hdfs.server.namenode.NameNode.startCommonServices(NameNode.java:828)
at org.apache.hadoop.hdfs.server.namenode.NameNode.initialize(NameNode.java:754)
at org.apache.hadoop.hdfs.server.namenode.NameNode.(NameNode.java:977)
at org.apache.hadoop.hdfs.server.namenode.NameNode.(NameNode.java:950)
at org.apache.hadoop.hdfs.server.namenode.NameNode.createNameNode(NameNode.java:1716)
at org.apache.hadoop.hdfs.server.namenode.NameNode.main(NameNode.java:1783)
Caused by: java.io.IOException: error=0, Failed to exec spawn helper: pid: 21051, exit value: 127
at java.base/java.lang.ProcessImpl.forkAndExec(Native Method)
at java.base/java.lang.ProcessImpl.(ProcessImpl.java:319)
at java.base/java.lang.ProcessImpl.start(ProcessImpl.java:249)
at java.base/java.lang.ProcessBuilder.start(ProcessBuilder.java:1110)
... 14 more
于是我在 ${HADOOP_HOME}/etc/hadoop/hadoop-env.sh
里打印出了 PATH 和 JAVA_HOME,并且 执行了 which bash
,结果显示都没有问题。
解决方案
这是我想起来会不会是jdk版本太高了?于是将jdk版本从jdk19降到了jdk8,降完版本之后,就好了。
版权声明:
作者:zhangchen
链接:https://www.techfm.club/p/52723.html
来源:TechFM
文章版权归作者所有,未经允许请勿转载。
THE END
二维码
共有 0 条评论