2015-08-23 2 views
0

Я новичок в Hadoop. Я пытаюсь запустить ниже простого кода, но продолжаю получать сообщение IOException с сообщением No FileSystem for scheme: file. Я запускаю единый узел Hadoop 2.7.0 на Ubuntu. Я подозреваю, что это проблема конфигурации. Любая быстрая помощь будет высоко оценена. Я искал StackOverflow, но не нашел подходящего ответа.Hadoop: метод FileSystem.get throws IOException

// Check if a file exists 
public boolean exists() throws IOException { 
    boolean isExists = false;  
    try{ 
     FileSystem hdfs = FileSystem.get(new Configuration()); 
     Path newPath = new Path(hdfsRoot,file.getName()); 
     isExists = hdfs.exists(newPath); 
     hdfs.close();   
    }catch(IOException ex){ 
     // log exception and then re-throw 
     throw ex; 
    } 
    return isExists; 
} 

Это метод FileSystem.get, который бросает IOException.

+0

вы можете показать мне значение hdfsRoot и file.getName()? –

+0

hdfsRoot указывает «hdfs: // localhost: 9000» и file.getName является a.txt. Но исключение выбрасывается из метода FileSystem.get – Shashi

ответ

0
// Check if a file exists 
     public boolean exists() throws IOException { 
      boolean isExists = false;  
      try{ 
       FileSystem hdfs = FileSystem.get(new URI("hdfs://localhost:9000"),new Configuration()); 
       Path newPath = new Path("/test.txt"); 
       isExists = hdfs.exists(newPath); 
       hdfs.close();   
      }catch(IOException ex){ 
       // log exception and then re-throw 
       throw ex; 
      } 
      return isExists; 
     } 

Примечание - hdfsRoot должен быть hdfs://localhost:9000 и file.getName() должно быть имя вашего файла. означает, что ваше местоположение файла должно быть HDFS: // локальный: 9000/test.txt

дайте мне знать, если не работать

+0

Спасибо за ответ. Измененный код в соответствии с вашим предложением, но я все еще получаю IOException, но на этот раз с «No FileSystem для схемы: hdfs». – Shashi

+0

Где-то я прочитал, что исключение может быть выбрано, если требуемые файлы jar не находятся в CLASSPATH. У меня есть несколько файлов jar в пути к классам. Я не подозреваю, что это проблема класса. Я думаю, что проблема с конфигурацией. – Shashi

+0

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

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