skf*_*eng 24 shell hadoop put hdfs
我使用Cloudera CDH存储库在CentOS上构建了一个单节点Hadoop环境.当我想将本地文件复制到HDFS时,我使用了以下命令:
sudo -u hdfs hadoop fs -put /root/MyHadoop/file1.txt /
Run Code Online (Sandbox Code Playgroud)
但是,结果让我很沮丧:
put: '/root/MyHadoop/file1.txt': No such file or directory
Run Code Online (Sandbox Code Playgroud)
我确定这个文件确实存在.
请帮帮我,谢谢!
Alf*_*awa 25
作为用户hdfs,您是否拥有/root/(在您当地的硬盘中)的访问权限?通常你没有.您必须复制file1.txt到hdfs用户具有读取权限的位置.
尝试:
cp /root/MyHadoop/file1.txt /tmp
chown hdfs:hdfs /tmp/file1.txt
sudo -u hdfs hadoop fs -put /tmp/file1.txt /
Run Code Online (Sandbox Code Playgroud)
---编辑:
Rom*_*nko 17
我有同样的情况,这是我的解决方案:
HADOOP_USER_NAME=hdfs hdfs fs -put /root/MyHadoop/file1.txt /
Run Code Online (Sandbox Code Playgroud)
好处:
sudo.尝试通过usig在HDFS中创建一个目录:$ hadoop fs -mkdir your_dir
然后将其放入其中$ hadoop fs -put /root/MyHadoop/file1.txt your_dir
| 归档时间: |
|
| 查看次数: |
69924 次 |
| 最近记录: |