скопируйте файл из wsl в hdfs, работающий в Docker - PullRequest
0 голосов
/ 27 декабря 2018

Я пытаюсь скопировать файл с локального диска в hdfs.

Я запускаю Hadoop на докере в качестве изображения.Я пытаюсь выполнить какое-то упражнение на MapReduce, поэтому я хочу скопировать файл данных с локального диска (скажем, моего d: drive) в hdfs.

Я попробовал команду ниже, но она не работает с ssh: connect to host localhost port 22: Connection refused:

scp -P 50070 /mnt/d/project/recreate.out root@localhost:/root

, так как я новичок в Hadoop и большие данные, мое объяснение может быть ужасным.Пожалуйста, терпите со мной.

Я пытаюсь сделать что-то выше из подсистемы Windows для Linux (WSL)

С уважением, crf

1 Ответ

0 голосов
/ 28 декабря 2018

SCP не будет перемещать данные в Hadoop.И порт 50070 не принимает соединения по этому протоколу (SSH)

. Вам нужно настроить и использовать команду, аналогичную hdfs dfs -copyFromLocal, а HDFS cli доступен как команда Windows, поэтому вам не нужноWSL для загрузки файлов

При использовании Docker я бы предложил сделать это

  1. Добавить монтирование тома с вашего хоста в некоторый контейнер Hadoop за пределами datanode икаталоги namenode
  2. docker exec в этот работающий контейнер
  3. Запустите команду hdfs, выгрузите ее из подключенного тома
...