2013-12-23 2 views
0
I am doing as below 
FileSystem fs = FileSystem.get(new URI("hdfs://IP:PORT"), context.getConfiguration()); 

      path = new Path("/AAP"); 
      fsOutStream = fs.create(path); 
      // read this file into InputStream 
      inputStream = new ByteArrayInputStream(value.getBytes()); 

      IOUtils.copyBytes(inputStream, fsOutStream, context.getConfiguration()); //After this step a new folder AAP is available on HDFS 

      //Problem in below step 
      fs.copyToLocalFile(path, new Path("/xyz")); //After this step i am expecting that a folder local to DataNode with name "xyz" should be available but its not 

Примечание: У меня есть только один DataNode и MapRed успешно работаетcopyToLocal не копируя локальный файл в DataNode

Может кто-то пожалуйста предложить как то, что может быть проблема?

+0

Вы не видите никаких ошибок? Вы указываете абсолютный путь для локального файла назначения? –

+0

Это поможет увидеть ваш фактический новый Path() –

+0

xyz еще не присутствует на локальной машине DataNode. Я только что выбрал это случайным образом, просто чтобы проверить функциональность части копии, тогда я попытался выполнить поиск по команде find/-type d -iname 'xyz', однако такой каталог не существует –

ответ

0

Вещи, чтобы проверить:

У вас есть права на запись в корневой каталог?

Попробуйте с полной URL: fs.copyToLocalFile(path, new Path("file:///home/hadoop/xyz"));

+0

Спасибо, что сейчас работает –

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