任务:解决命令无法识别的问题,并成功执行Hadoop的文件系统操作命令。

截图中的错误提示:系统建议用户可能输入了错误的命令,并列出了两个可能的命令:

  • hdfls(来自于包 hdf4-tools
  • hfs(来自于包 hfsutils-tcltk

原因:1.命令格式错误 2.Hadoop未正确安装 3.Hadoop未正确配置

        如果命令格式正确但仍然出现错误,可能是因为Hadoop没有正确安装,或者Hadoop的可执行文件没有添加到系统的PATH环境变量中。

下文我们解决第三种情况

方法一:更正命令格式:在每个命令前面加上./bin/加上空格。正确的命令格式应该是:

./bin/hdfs dfs -ls /hdfs

方法二:环境变量:确保Hadoop的可执行文件路径已经添加到系统的PATH环境变量中。你可以通过以下命令来检查:

echo $PATH

如果Hadoop的可执行文件路径没有包含在内,你需要将其添加进去。通常,Hadoop的可执行文件位于 $HADOOP_HOME/bin,你可以按照以下步骤添加:

 1.打开 .bashrc文件:

nano ~/.bashrc

 2.在文件末尾添加以下行:

export HADOOP_HOME=/usr/local/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

简而言之,这两行命令的作用是:

  1. 定义一个指向Hadoop安装目录的环境变量HADOOP_HOME
  2. 将Hadoop的可执行文件目录添加到PATH环境变量中,以便在任何地方都能直接运行Hadoop的命令。

详细说明: 

  1. export HADOOP_HOME=/usr/local/hadoop

    • 这条命令设置了一个新的环境变量HADOOP_HOME,其值为/usr/local/hadoop。这个变量通常用来指向Hadoop的安装目录。这样,你就可以在其他脚本或命令中使用$HADOOP_HOME来引用Hadoop的安装路径,而不需要每次都输入完整的路径。
  2. export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

    • 这条命令将Hadoop的binsbin目录添加到当前用户的PATH环境变量中。
    • PATH是一个特殊的环境变量,它定义了系统在执行命令时搜索可执行文件的目录列表。
    • $PATH表示当前的PATH值,:是路径分隔符。
    • $HADOOP_HOME/bin$HADOOP_HOME/sbin分别表示Hadoop安装目录下的binsbin子目录。
    • 通过将这些目录添加到PATH中,你可以在任何目录下直接运行Hadoop的可执行文件,如hadoopstart-dfs.shstart-yarn.sh等,而不需要每次都输入完整的路径。

3.保存并退出:使用的是 nano,可以按 CTRL + X 退出,y确定更改,enter下达命令。(如果使用的是 vim,可以按 Esc 键,然后输入 :wq 保存并退出。)

4.重新加载配置文件(使更改立即生效):

source ~/.bashrc
  • 注意:如果你没有使用 source 命令重新加载配置文件,那么在打开新的终端会话时,系统会自动读取 .bashrc 或 .bash_profile 文件,并应用其中的环境变量设置。

这样,你就可以在任何目录下直接使用 Hadoop 命令了。

5.你可以通过以下命令验证环境变量是否设置成功:

echo $HADOOP_HOME
echo $PATH

然后,在更正了命令格式和确认环境变量设置正确后,重新尝试执行命令:

hdfs dfs -ls /hdfs

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部