2015-05-28 2 views
1

Я пытаюсь скопировать один файл из моей локальной системы hdfs (один узел кластера), используя следующую команду:«Hadoop фс -copyFromLocal» не работает

hadoop fs -copyFromLocal /home/hduser/TestEmp.txt /test 

Это дает мне сообщение, как:

WARN util.NativeCodeLoader: невозможно загрузить библиотеку native-hadoop для вашей платформы ... с использованием встроенных классов Java, где это применимо copyFromLocal: file /test/TestEmp.txt. КОПИРОВАНИЕ на клиенте 127.0.0.1.

Но когда я зарегистрировался в /test, я ничего там не нашел.

Почему?

+1

Это предупреждающее сообщение. Как вы копируете данные, можете ли вы снова проверить свои шаги? –

+0

Похоже, у вас нет тестового каталога, доступного в вашей файловой системе hadoop. Можете ли вы сделать hdfs dfs -ls/'и отправить результат. –

+0

drwxr-xr-x - hduser supergroup 0 2015-05-28 16:13/test –

ответ

1

Убедитесь, что вы /test папку в HDFS:

hadoop fs -ls/

(опционально): Если вы не имеете тестовую папку в HDFS, создайте его с помощью:

hadoop fs -mkdir /test 

разрешение файла Проверить на местной файловой системе:

ls -l /home/hduser/TestEmp.txt 

Если файл не принадлежит пользователю Hadoop, изменить свою собственность:

sudo chown hadoopusername:hadoopgroupname /home/hduser/TestEmp.txt 
sudo chmod 777 /home/hduser/TestEmp.txt 

Скопируйте файл в HDFS:

hadoop fs -copyFromLocal /home/hduser/TestEmp.txt /test/ 

или использовать put команду:

hadoop fs -put /home/hduser/TestEmp.txt /test/ 
+0

-rwxrwxrwx 1 hduser hadoop 60 28 мая 13:05 /home/hduser/TestEmp.txt –

+0

Если 'hduser' - ваш пользователь hadoop, не нужно изменять права собственности на файл. Просто попробуйте использовать' -put'. Не могли бы вы опубликовать результат для 'hadoop fs -ls/test'? –

+0

drwxr-xr-x - hduser supergroup 0 2015-05-28 16:13/test –

Смежные вопросы