任务:解决命令无法识别的问题,并成功执行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
简而言之,这两行命令的作用是:
- 定义一个指向Hadoop安装目录的环境变量
HADOOP_HOME
。 - 将Hadoop的可执行文件目录添加到
PATH
环境变量中,以便在任何地方都能直接运行Hadoop的命令。
详细说明:
export HADOOP_HOME=/usr/local/hadoop
:- 这条命令设置了一个新的环境变量HADOOP_HOME
,其值为/usr/local/hadoop
。这个变量通常用来指向Hadoop的安装目录。这样,你就可以在其他脚本或命令中使用$HADOOP_HOME
来引用Hadoop的安装路径,而不需要每次都输入完整的路径。export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
:- 这条命令将Hadoop的bin
和sbin
目录添加到当前用户的PATH
环境变量中。-PATH
是一个特殊的环境变量,它定义了系统在执行命令时搜索可执行文件的目录列表。-$PATH
表示当前的PATH
值,:
是路径分隔符。-$HADOOP_HOME/bin
和$HADOOP_HOME/sbin
分别表示Hadoop安装目录下的bin
和sbin
子目录。- 通过将这些目录添加到PATH
中,你可以在任何目录下直接运行Hadoop的可执行文件,如hadoop
、start-dfs.sh
、start-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
版权归原作者 Kika写代码 所有, 如有侵权,请联系我们删除。