Fra*_*s S 6 hadoop microsoft-distributed-file-system
我在这个位置安装了Hadoop
在/ usr /本地/ Hadoop的$
现在我想列出dfs中的文件.我使用的命令是:
hduser @ ubuntu:/ usr/local/hadoop $ bin/hadoop dfs -ls
这给了我dfs中的文件
Found 3 items
drwxr-xr-x - hduser supergroup 0 2014-03-20 03:53 /user/hduser/gutenberg
drwxr-xr-x - hduser supergroup 0 2014-03-24 22:34 /user/hduser/mytext-output
-rw-r--r-- 1 hduser supergroup 126 2014-03-24 22:30 /user/hduser/text.txt
Run Code Online (Sandbox Code Playgroud)
下次,我以不同的方式尝试了同样的命令
hduser @ ubuntu:/ usr/local/hadoop $ hadoop dfs -ls
它也给了我相同的结果.
有人可以解释为什么两个都在工作,尽管从不同的文件夹执行ls命令.我希望你们理解我的问题.只是解释我这两者之间的区别:
hduser@ubuntu:/usr/local/hadoop$ bin/hadoop dfs -ls
hduser@ubuntu:/usr/local/hadoop$ hadoop dfs -ls
Run Code Online (Sandbox Code Playgroud)
在unix中,可以通过两种方式执行可执行文件,方法是在系统可执行文件路径中给出绝对/相对路径或命令(路径应在PATH变量中指定)
当你执行时bin/hadoop dfs -ls应该在目录/ usr/local/hadoop里面.或者/usr/local/hadoop/bin/hadoop dfs -ls也会工作
unix中有一个环境变量PATH,它默认保存在可执行位置列表中,保留以下路径/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:.每当我们执行任何命令,如ls,mkdir等时,它都是从PATH变量中的一个位置获取的.当你给命令hadoop时(它将从路径/ usr/local/hadoop/bin /中获取).因为您在PATH变量中指定了路径/ usr/local/hadoop/bin /.使用以下命令检查PATH变量的值
echo $PATH
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4822 次 |
| 最近记录: |