У меня есть 2 директории "dft" и "hdfs" в распакованной папке Hadoop. Я пытаюсь скопировать файл (StartUnit.txt) в dft в 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>]

может кто-то предложить мне ...

2 ответа2

0

Вопрос решен сейчас. Вот решение.

313159@PC213710 ~/hadoop-0.19.1

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

Эта команда копирует файл sample.txt из каталога testdriver в каталог hdfs In.

Если путь /user/cts/313159/In , эта команда создает путь и копирует в него файл.

0

Сначала необходимо указать источник (локальная файловая система), а затем цель (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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .