Как скопировать каталог данных из hdfs в локальную fs? - PullRequest
0 голосов
/ 20 марта 2019

Я начал с необходимости резервного копирования всего каталога данных hadoop datanode, используя:

hdfs dfs -copyToLocal /var/hadoop/dfs/name/data /home/ubuntu/hadoopfiles

И я получил ошибку:

«Нет такого файла opr каталог» для / var / hadoop / dfs / name / data

После некоторого поиска я нашел эту тему переполнения стека с примерами: https://stackoverflow.com/questions/28213116/hadoop-copy-a-local-file-system-folder-to-hdfs#=

Но даже когда я делаю:

hdfs dfs -ls

Я получаю сообщение об ошибке ls: `. ': Нет такого файла или каталога

Я также посмотрел другие посты, кажется, это довольно распространенная проблема, но я не смог найти решение для меня.

Спасибо.

1 Ответ

1 голос
/ 20 марта 2019

Сначала используйте

hadoop fs -get /theFolder

, чтобы скопировать его в текущий каталог, в который вы вставили ssh на свой ящик.

Тогда вы можете использовать scp или мое предпочтение rsync для копирования файлов между вашей коробкой и вашей локальной системой, вот так. Вот как я бы использовал rsync после использования -get, все еще в той же директории:

rsync -av ./theFolder username@yourlocalmachine:/home/username

Это скопирует папку Folder из локального файла fs на вашем компьютере в вашу домашнюю папку на компьютере вашего устройства. Обязательно замените имя пользователя вашим реальным именем пользователя в обоих случаях, а yourlocalmachine - именем хоста или IP-адресом вашей машины.

Просьба отослать этот ответ

Копирование из Hadoop на локальный компьютер

Или посмотрите эту ссылку scp method

...