首页 >Java >未找到 start-all.sh、start-dfs.sh 命令

未找到 start-all.sh、start-dfs.sh 命令

PHPz
PHPz转载
2024-02-09 13:24:09825浏览

php小编苹果在使用Hadoop时,可能会遇到一个常见问题:“未找到 start-all.sh、start-dfs.sh 命令”。这个问题通常出现在启动Hadoop集群时,可能是由于路径配置不正确或者脚本文件不存在所致。要解决这个问题,我们需要检查Hadoop的安装路径和环境变量配置,确保正确设置,并确保相关的脚本文件存在于相应的路径下。下面将详细介绍如何解决这个问题,让我们一起来看看吧!

问题内容

我使用的是 ubuntu 16.04 lts 并安装了 hadoop 2.7.2。

的输出
  hadoop version

  hadoop 2.7.2
  subversion https://git-wip-us.apache.org/repos/asf/hadoop.git -r b165c4fe8a74265c792ce23f546c64604acf0e41
  compiled by jenkins on 2016-01-26t00:08z
  compiled with protoc 2.5.0
  from source with checksum d0fda26633fa762bff87ec759ebe689c
  this command was run using /usr/local/hadoop-2.7.2/share/hadoop/common/hadoop-common-2.7.2.jar

当我跑步时

  whereis hadoop

它给出的输出为

  hadoop: /usr/local/hadoop /usr/local/hadoop-2.7.2/bin/hadoop.cmd /usr/local/hadoop-2.7.2/bin/hadoop

但是当我运行命令时

  start-all.sh

它说找不到命令。 当我跑步时也是如此

  start-dfs.sh

它给出的输出是未找到命令。

当我导航到 hadoop 目录时,我能够运行这些命令,但我想在不导航到 hadoop 目录的情况下运行这些命令。

解决方法

您的问题是 bash 不知道在哪里查找 ./start-all.sh

您可以通过打开 $home/.bashrc添加如下所示的行来解决此问题:

path=$path:/usr/local/hadoop/sbin

这告诉 bash 它应该在“/usr/local/hadoop/sbin”中查找 start-all.sh

注意:

$home/.bashrc 的更改不会在当前打开的任何终端中生效。

如果您需要使更改在当前打开的终端中生效,请运行

source $home/.bashrc

我必须使用 find 来搜索它。

find / -iname start-all.sh 2>  /dev/null

发现:

/usr/local/sbin/start-all.sh
/usr/local/cellar/hadoop/3.3.4/libexec/sbin/start-all.sh
/usr/local/cellar/hadoop/3.3.4/sbin/start-all.sh

所以除了前面的答案之外,$home/.bashrc 中的变量如下所示:

PATH=$PATH:/usr/local/sbin/

注意:我不确定应该将哪一个设置为 path

以上是未找到 start-all.sh、start-dfs.sh 命令的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文转载于:stackoverflow.com。如有侵权,请联系admin@php.cn删除