Я хочу создать папку в hadoop-2.7.3, которая физически находится на внешнем диске (usb-thumb), предполагая, что любой файл, который I -copyFromLocal, будет находиться на привод большого пальца. Точно так же любые выходные файлы из Hadoop также идет на внешний диск:Ошибка Отображение файлов HDFS на внешний диск
mkdir /media/usb
mount /dev/sdb1 /media/usb
hdfs dfs -mkdir /media/usb/test
hdfs dfs -copyFromLocal /media/source/input.data /media/usb/test
hadoop jar share/hadoop/tools/lib/hadoop-streaming-*.jar \
-input /media/usb/test/input.data \
-output /media/usb/test/output.data
Но я не получаю такую / ошибки папки файлов при попытке сделать папку выше .. это работает только если я делаю папки локальной для Hadoop:
hdfs dfs -mkdir /test
hdfs dfs -copyFromLocal /media/source/input.data /test
К сожалению, это помещает файл входных данных на тот же диск, что и установка hadoop, которая почти заполнена. Есть ли способ сделать/отобразить папку HDFS, чтобы она читала/записывала с диска, отличного от диска hadoop?
Так это звучит, как это возможно, но я первый должен укажите путь usb как datanode в hdfs-site.xml. После форматирования (hdfs 'hdfs namenode -format), то любые команды «dfs -mkdir» и «-copyFromLocal» будут использовать внешний диск, нет? Или вы говорите, что это не сработает из-за различий в файловой системе (т. Е. Флэш-накопитель FAT32)? – ben
@ben это не работает. Сначала установите hasoop на новый диск _ (на любой ОС) _, затем скопируйте в него конфиги, а затем запустите этот узел данных. Поместите это, вам нужно просто перебалансировать кластер. ** Примечание: ваша ОС не имеет значения, узлы должны быть настроены так же, как и в том же кластере, что и все. ** –