热点新闻
627.【hadoop】解决java.io.IOException: Cannot run program "bash"
2023-07-27 12:48  浏览:2322  搜索引擎搜索“手机闹展网”
温馨提示:信息一旦丢失不一定找得到,请务必收藏信息以备急用!本站所有信息均是注册会员发布如遇到侵权请联系文章中的联系方式或客服删除!
联系我时,请说明是在手机闹展网看到的信息,谢谢。
展会发布 展会网站大全 报名观展合作 软文发布

一、问题详情

环境说明

  1. JDK版本:19
  2. hadoop版本: 3.2.2
  3. 操作系统版本: 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.<init>(NameNodeResourceChecker.java:68) at org.apache.hadoop.hdfs.server.namenode.NameNodeResourceChecker.addDirToCheck(NameNodeResourceChecker.java:161) at org.apache.hadoop.hdfs.server.namenode.NameNodeResourceChecker.<init>(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.<init>(NameNode.java:977) at org.apache.hadoop.hdfs.server.namenode.NameNode.<init>(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.<init>(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,降完版本之后,就好了。

发布人:20fa****    IP:117.173.23.***     举报/删稿
展会推荐
  • 随笔
  • 2023-07-27浏览:1595
让朕来说2句
评论
收藏
点赞
转发