在 Hadoop 环境中,决定何时在命令前添加 ./bin 和如何处理路径 /home/hadoop 与 /usr/local/hadoop 的问题,主要取决于你的当前工作目录和环境变量的设置。以下是一些指导原则:
何时使用 ./bin:
当前目录是 Hadoop 安装目录:当你的工作目录是 Hadoop 安装目录时(例如 /usr/local/hadoop),你可以使用 ./bin 来执行 Hadoop 的可执行文件,因为 ./bin 指的是当前目录下的 bin 子目录。
例如:
./bin/hdfs dfs -ls / 简化命令:使用 ./bin 可以确保你执行的是当前目录下的 Hadoop 命令,而不是系统路径中的命令。
何时不需要使用 ./bin:
环境变量 PATH 已设置:如果你已经将 Hadoop 的 bin 目录添加到了你的 PATH 环境变量中,你可以在任何工作目录下直接执行 Hadoop 命令,而不需要 ./bin。
例如:
hdfs dfs -ls / 使用完整路径:如果你不想使用 ./bin,也可以通过指定 Hadoop 可执行文件的完整路径来执行命令。
例如:
/usr/local/hadoop/bin/hdfs dfs -ls / /home/hadoop 与 /usr/local/hadoop 的区别:
/home/hadoop:这通常是 Hadoop 用户的家目录。在这个目录下,用户可以存放个人文件和数据。
/usr/local/hadoop:这是一个示例路径,表示 Hadoop 可能安装在 /usr/local 目录下,名为 hadoop 的子目录。这是 Hadoop 的安装目录,其中包含 Hadoop 的可执行文件、配置文件、库文件等。
示例:
whereis 命令将返回 Hadoop 二进制文件、源文件和手册页的位置。假设你在安装 Hadoop 时或在 .bashrc、.bash_profile 或全局环境变量文件中设置了 HADOOP_HOME环境变量,使用echo命令查看其值。 
假设 Hadoop 安装在 /usr/local/hadoop:
在 Hadoop 安装目录下:
你可以使用./bin: ./bin/hdfs dfs -ls / 在其他目录下:
如果你已经将/usr/local/hadoop/bin 添加到了 PATH,你可以直接执行: hdfs dfs -ls / 或者使用完整路径: /usr/local/hadoop/bin/hdfs dfs -ls / 设置 PATH 环境变量:
1.打开 .bashrc文件:
nano ~/.bashrc 2.在文件末尾添加以下行:
export HADOOP_HOME=/usr/local/hadoopexport PATH=$PATH:$HADOOP_HOME/bin 
3.保存并退出:使用的是 nano,可以按 CTRL + X 退出,y确定更改,enter下达命令。(如果使用的是 vim,可以按 Esc 键,然后输入 :wq 保存并退出。)

4.重新加载配置文件(使更改立即生效):
source ~/.bashrc 注意:如果你没有使用 source 命令重新加载配置文件,那么在打开新的终端会话时,系统会自动读取 .bashrc 或 .bash_profile 文件,并应用其中的环境变量设置。 这样,你就可以在任何目录下直接使用 Hadoop 命令了。
5.你可以通过以下命令验证环境变量是否设置成功:
echo $HADOOP_HOMEecho $PATH
总结:
使用./bin 当你在 Hadoop 安装目录下工作时。不需要 ./bin 当你已经在 PATH 中设置了 Hadoop 的 bin 目录,或者你使用完整路径执行命令。/home/hadoop 通常是指用户的家目录,而 /usr/local/hadoop 是 Hadoop 的安装目录。