【问题标题】:hadoop fs -put commandhadoop fs -put 命令
【发布时间】:2013-08-31 08:26:37
【问题描述】:

我使用 Cloudera CDH 存储库在 CentOS 上构建了一个单节点 Hadoop 环境。当我想将本地文件复制到 HDFS 时,我使用了命令:

sudo -u hdfs hadoop fs -put /root/MyHadoop/file1.txt /

但是,结果让我很沮丧:

put: '/root/MyHadoop/file1.txt': No such file or directory

我确定这个文件确实存在。

请帮帮我,谢谢!

【问题讨论】:

    标签: shell hadoop hdfs put


    【解决方案1】:

    作为用户hdfs,您是否有权访问/root/(在您的本地硬盘中)?通常你不会。 您必须先将file1.txt 复制到本地hdfs 用户具有读取权限的位置,然后再尝试将其复制到HDFS。

    试试:

    cp /root/MyHadoop/file1.txt /tmp
    chown hdfs:hdfs /tmp/file1.txt
    # older versions of Hadoop
    sudo -u hdfs hadoop fs -put /tmp/file1.txt /
    # newer versions of Hadoop
    sudo -u hdfs hdfs dfs -put /tmp/file1.txt /
    

    --- 编辑:

    看看the cleaner roman-nikitchenko's answer bellow

    【讨论】:

    • 谢谢,但我试图将这个文件移动到另一个地方,输入以下命令:{sudo -u hdfs hadoop fs -put /home/skfeng/Downloads/hadoop-book-master/test- data/ch1/file1.txt /} 它仍然不起作用并且具有相同的结果: {put: `/home/skfeng/Downloads/hadoop-book-master/test-data/ch1/file1.txt': 否这样的文件或目录}
    • 用户hdfs是否有权访问用户skfeng的家?
    • 是的!我明白了!用户 hdfs 无法访问其他用户的主页,我为 hdfs 创建了一个新目录,它可以正常工作!非常感谢!:)
    【解决方案2】:

    我有同样的情况,这是我的解决方案:

     HADOOP_USER_NAME=hdfs hdfs fs -put /root/MyHadoop/file1.txt /
    

    优点:

    1. 你不需要sudo
    2. 您根本不需要真正合适的本地用户“hdfs”。
    3. 您无需复制任何内容或更改权限,因为之前的要点。

    【讨论】:

    • 我喜欢这个解决方案,但我总是忘记环境变量名称是什么:P +1
    • 谢谢,我必须使用 DFS 而不是 FS,像这样:HADOOP_USER_NAME=PUT_YOUR_USER_HERE hdfs dfs -put /source/xxx/yyy /destination/zzz
    【解决方案3】:

    尝试通过 usig 在 HDFS 中创建一个目录:$ hadoop fs -mkdir your_dir 然后放进去$ hadoop fs -put /root/MyHadoop/file1.txt your_dir

    【讨论】:

      【解决方案4】:

      这里是一个在python脚本中直接将df写入hdfs文件系统的命令:

      df.write.save('path', format='parquet', mode='append')
      

      模式可以附加 |覆盖

      如果你想使用 shell 放入 hdfs 使用这个命令: hdfs dfs -put /local_file_path_location /hadoop_file_path_location

      然后您可以检查 localhost:50070 UI 进行验证


      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-12-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-11-15
        • 1970-01-01
        相关资源
        最近更新 更多