每次使用-put命令将本地文件复制到hdfs时
$ hadoop fs -put file:///root/t1/t11 hdfs:///user/amit
它给了我以下错误put:“/root/t1/t11”:没有这样的文件或目录我确信文件存在。我更改了权限,但仍然没有通过请帮帮我
pkwftd7m1#
希望这些帮助:$hadoop fs-put localhost:///root/t1/t11 hdfs:///user/amit或$hadoop fs-put/root/t1/t11 hdfs:///user/amit或$hadoop fs-put/根/t1/t11hdfs://your_hadoop_host_name/user/amit在我的情况下,所有这些工作。并使用您创建的hadoop用户进行测试。
au9on6nz2#
以下命令组合起作用。
[root@amit ~]# mkdir /testing [root@amit ~]# cp /root/t1/t11 /testing [root@amit ~]# sudo chown hdfs:hadoop /testing [root@amit ~]# sudo chown hdfs:hadoop /testing/t11 [root@amit ~]# sudo -u hdfs hadoop fs -put /testing/t11 hdfs:///user/amit
hdfs是我的hadoop用户名hadoop是我的hadoop组名我还不能投票,因为我是新来的,但谢谢你的支持。
vyu0f0g13#
我看到你在复制 root 用户linux主目录('/root')到 amit 用户的hdfs主目录( /user/amit )作为 hadoop 用户。所以,要记住的一点是,根用户的主目录对于其他用户来说是不可读的。要使其正常工作,您需要将文件复制到linux /tmp 文件夹(通用可读)作为 hadoop 在linux文件系统中,用户无法从根用户的主目录中读取文件(这要求您具有 sudo 访问权限):
root
amit
/user/amit
hadoop
/tmp
sudo
sudo cp /root/t1/t11 /tmp hadoop fs -put /tmp/t11 /user/amit
ztmd8pv54#
尝试使用 put 来自不同文件夹的命令 /root . 在终端中执行此操作(作为hadoop用户):
put
/root
sudo mkdir -p /usr/local/test sudo cp /root/t1/t11 /usr/local/test/t11 sudo chown hadoop:hadoop /usr/local/test/t11 hadoop fs -mkdir -p /user/amit hadoop fs -put /usr/local/test/t11 /user/amit/t11
在 sudo chown hadoop:hadoop /usr/local/test/t11 , hadoop:hadoop is 你的 hadoop user name 以及 hadoop group name 分别。
sudo chown hadoop:hadoop /usr/local/test/t11
hadoop user name
hadoop group name
smdnsysy5#
你可以用 hdfs dfs -copyFromLocal 命令。看看怎么做:1正在dfs中创建输入文件夹:
hdfs dfs -copyFromLocal
hdfs dfs -mkdir /input
2将目录从本地磁盘复制到hdfs中新创建的“input”目录:
hdfs dfs -copyFromLocal /usr/local/test/t11 /input
5条答案
按热度按时间pkwftd7m1#
希望这些帮助:
$hadoop fs-put localhost:///root/t1/t11 hdfs:///user/amit
或
$hadoop fs-put/root/t1/t11 hdfs:///user/amit
或
$hadoop fs-put/根/t1/t11hdfs://your_hadoop_host_name/user/amit
在我的情况下,所有这些工作。
并使用您创建的hadoop用户进行测试。
au9on6nz2#
以下命令组合起作用。
hdfs是我的hadoop用户名
hadoop是我的hadoop组名
我还不能投票,因为我是新来的,但谢谢你的支持。
vyu0f0g13#
我看到你在复制
root
用户linux主目录('/root')到amit
用户的hdfs主目录(/user/amit
)作为hadoop
用户。所以,要记住的一点是,根用户的主目录对于其他用户来说是不可读的。要使其正常工作,您需要将文件复制到linux
/tmp
文件夹(通用可读)作为hadoop
在linux文件系统中,用户无法从根用户的主目录中读取文件(这要求您具有sudo
访问权限):ztmd8pv54#
尝试使用
put
来自不同文件夹的命令/root
. 在终端中执行此操作(作为hadoop用户):在
sudo chown hadoop:hadoop /usr/local/test/t11
, hadoop:hadoop is 你的hadoop user name
以及hadoop group name
分别。smdnsysy5#
你可以用
hdfs dfs -copyFromLocal
命令。看看怎么做:1正在dfs中创建输入文件夹:
2将目录从本地磁盘复制到hdfs中新创建的“input”目录: