2014-02-06 4 views
1

Я строю клиент, который подталкивает некоторые данные в мою HDFS. Поскольку HDFS находится внутри кластера за брандмауэром, я использую HttpFS в качестве прокси для доступа к нему. Когда я пытаюсь читать/записывать в HDFS, клиент выходит с IOException. Сообщение No FileSystem for scheme: webhdfs. Код очень простой.Нет Файловая система для схемы: webhdfs

String hdfsURI = "webhdfs://myhttpfshost:14000/"; 
Configuration configuration = new Configuration(); 
FileSystem hdfs = FileSystem.get(new URI(hdfsURI), configuration); 

Он падает в последней строке. Я строю с Maven 3.0.4 и добавил Hadoop-Client dependency 2.2.0 в свой проект. Доступ через curl в командной строке отлично работает.

Любые идеи, почему это может быть неудачным?

ответ

2

Аналогично this вопрос о SO я должен был добавить следующий код перед делать какие-либо действия FS:

configuration.set("fs.webhdfs.impl", org.apache.hadoop.hdfs.web.WebHdfsFileSystem.class.getName()); 

Я не знаю, почему, но там, кажется, что-то не так с Maven построить процесс. .. пока это работает.

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