gpt4 book ai didi

hadoop - 将文件从本地放到hadoop环境

转载 作者:可可西里 更新时间:2023-11-01 15:26:46 24 4
gpt4 key购买 nike

注意:我已经阅读了 stackoverflow 上所有与此场景相关的早期帖子,但找不到任何有用的帖子

我正在学习 hadoop 并在玩耍时遇到了一些困难。

1) 连接到hadoop后,查看pwd时显示/home/hduser。所以这意味着我在 hduser 目录中,它也是我的 hadoop 环境用户。当我使用以下命令创建目录时,会创建目录。

hadoop fs -mkdir /user/

我的问题是,为什么在终端的路径/home/hduser 下却在 http://localhost:50070/explorer.html#/user 上看不到该目录(用户) ?

2) 在我的根目录下有两个,一个是 Jon,第二个是 hduser。 我在位置/home/Jon 的用户 Jon 中创建了一个文件,我想将此文件放入/user 目录下的 hduser。 当我使用以下命令放置他的文件时

hadoop fs -put /home/Jon/test.txt /user

得到这样的错误

17/06/04 21:33:26 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
put: `/home/Jon/test.txt': No such file or directory

注意:我也像这样在 visudo 文件中从 root 授予了权限

Jon ALL(ALL:ALL) ALL
hduser ALL(ALL:ALL) ALL

但我仍然无法做到从本地到 hduser。当我在 dir/home/hduser 下的 hadoop 环境中创建文件时,我可以轻松地将文件从那里复制到/user 目录

谁能帮我解决这些问题...?

最佳答案

My question is, Why am not able to see that dir (user) under path /home/hduser from terminal but on http://localhost:50070/explorer.html#/user ?

HDFSlinux 文件系统 是管理文件和目录的两种不同方式。 HDFS 需要namenodedatanode 处于事件状态才能查看存储在HDFS 中的文件。 Namenode 存储了所有存储在datanode 中的数据的元数据。它们存储在本地文件系统中,但格式不同,HDFS 只能读取它。

/user不完全是本地路径,而是HDFS(HDFS虚拟文件系统)的路径。

Get an error like this 17/06/04 21:33:26 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable put: `/home/Jon/test.txt': No such file or directory

当本地文件系统上不存在文件时,通常会显示上述错误。我自己试了一下,没有任何错误。它对你不起作用真的很奇怪

您可以做的是尝试查看该文件是否真的存在。如果是,则尝试

$HADOOP_HOME/bin/hadoop fs -put /home/Jon/test.txt /user

如果还是不行,尝试更改HDFS/user的文件权限

hadoop fs -chmod 777 /user

关于hadoop - 将文件从本地放到hadoop环境,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44356175/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com