如何在我的系统上找到hadoop hdfs目录?

0tdrvxhp  于 2021-06-02  发布在  Hadoop
关注(0)|答案(4)|浏览(1213)

如何在我的系统上找到hadoop hdfs目录?我需要这个来执行以下命令-

hadoop dfs -copyFromLocal <local-dir> <hdfs-dir>

在这个命令中,我不知道我的hdfs目录。
不确定它是否有用,但我运行了以下命令并得到了这个输出-

hdfs dfs -ls
-rw-r--r--   3 popeye hdfs  127162942 2016-04-01 19:47 .

在hdfs-site.xml中,我发现了以下条目-

<property>
      <name>dfs.datanode.data.dir</name>
      <value>/hadoop/hdfs/data</value>
      <final>true</final>
</property>

我试图运行以下命令,但它给出了错误-

[root@sandbox try]# hdfs dfs -copyFromLocal 1987.csv /hadoop/hdfs/data
copyFromLocal: `/hadoop/hdfs/data': No such file or directory

仅供参考-我正在azure服务器上的hortonworks沙盒上执行所有这些操作。

zdwk9cvp

zdwk9cvp1#

根据第一个答案,我正在详细阐述 Hadoop 1.x -
假设您在伪分布模型上运行这个脚本,您可能会得到一个或两个用户列表(namenodes)-
在我们的完全分发模型中,首先您拥有执行这些操作的管理员权限,并且将有n个namenodes(用户)列表。
现在我们来谈谈我们的观点-
首先到达hadoop主目录,然后从那里运行这个脚本-

bin/hadoop fs -ls /

结果会是这样的-

drwxr-xr-x   - xuiob78126arif supergroup          0 2017-11-30 11:20 /user

所以在这里 xuiob78126arif 是我的名称节点(master/user),名称节点(user)目录是-

/user/xuiob78126arif/

现在你可以去你的浏览器搜索地址-

http://xuiob78126arif:50070

从那里你可以得到 Cluster Summary, NameNode Storage 等等。
注意:如果datanode中至少存在任何文件或目录,则脚本仅在一个条件下提供结果,否则您将得到-

ls: Cannot access .: No such file or directory.

所以,在这种情况下,你首先把任何文件 bin/hadoop fs -put <source file full path> 在跑步之后 bin/hadoop fs -ls / 脚本。
现在我希望,你对你的问题有所了解,谢谢。

mfuanj7w

mfuanj7w2#

找到hdfs目录,并确保深入到安装hadoop的目录。如果 bin/hadoop fs -ls / 显示no o/p表示“/”是hdfs目录。使用 mkdir 为map reduce job创建新的dir[例如: hdfs fs -mkdir /user/<local_username> ]. 在这之后 copyfromLocal 命令行得通。
我是通过艰苦的努力学会的。我希望有人谁是像我一样觉得这有帮助

3duebb1j

3duebb1j3#

你的方法是错误的或可能是理解是错误的 dfs.datanode.data.dir ,是要存储数据块的位置
如果你打字 hdfs dfs -ls / 您将获得hdfs中的目录列表。然后您可以使用 -copyFromLocal 或者 -put 到特定目录或使用 -mkdir 您可以创建新目录
有关更多信息,请参阅下面的链接
http://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-hdfs/hdfscommands.html

mum43rcc

mum43rcc4#

如果您跑步:

hdfs dfs -copyFromLocal foo.txt bar.txt

然后本地文件foo.txt将被复制到您自己的hdfs目录中 /user/popeye/bar.txt (其中 popeye 是您的用户名。)因此,以下实现了相同的功能:

hdfs dfs -copyFromLocal foo.txt /user/popeye/bar.txt

在将任何文件复制到hdfs之前,请确保先创建父目录。你不必把文件放在这个“home”目录下,但是(1)最好不要把“/”和各种各样的文件混在一起,(2)遵循这个惯例将有助于防止与其他用户发生冲突。

相关问题