如何使用unix命令将文件移动到hadoop中的hdfs

如何使用unix命令将文件移动到hadoop中的hdfs

我在解压后的 Hadoop 文件夹中有 2 个目录“dft”和“hdfs”。我尝试将 dft 中的文件(StartUnit.txt)复制到 hdfs 中。相应的命令和异常如下所示

313159@PC213710 ~/hadoop-0.19.1
$ bin/hadoop dfs -copyFromLocal D:/eclipse/cygwin/home/313159/hadoop-0.19.1/hdfs              
D:/eclipse/cygwin/home/313159/hadoop-0.19.1/dft/StartUnit.txt

HADOOP_NAMENODE_OPTS=-Dcom.sun.management.jmxremote
HADOOP_SECONDARYNAMENODE_OPTS=-Dcom.sun.management.jmxremote
HADOOP_DATANODE_OPTS=-Dcom.sun.management.jmxremote
HADOOP_BALANCER_OPTS=-Dcom.sun.management.jmxremote
HADOOP_JOBTRACKER_OPTS=-Dcom.sun.management.jmxremote
HADOOP_PID_DIR=-Dcom.sun.management.jmxremote
copyFromLocal: Pathname /D:/eclipse/cygwin/home/313159/hadoop-0.19.1/dft/StartUnit.txt 
    from D:/eclipse/cygwin/home/313159/hadoop-0.19.1/dft/StartUnit.txt is not a  
valid DFS filename.
Usage: java FsShell [-copyFromLocal <localsrc> ... <dst>]

有人可以建议我吗……

答案1

首先必须指定源(本地文件系统),然后指定目标(HDFS)。运行以下命令,它应该可以工作。

bin/hadoop dfs -mkdir /hdfs
bin/hadoop dfs -copyFromLocal D:/eclipse/cygwin/home/313159/hadoop-0.19.1/dft/StartUnit.txt /hdfs/StartUnit.txt

答案2

问题现在已解决。以下是解决方案。

313159@PC213710 ~/hadoop-0.19.1

$ bin/hadoop  fs  –copyFromLocal  testdriver/sample.txt  /user/cts/313159/In

此命令将sample.txt目录 testdriver 中的文件复制到 hdfs 目录中。

如果路径/user/cts/313159/In,该命令将创建路径并将文件复制到其中。

相关内容