Я установил hadoop 1.0.4. Я включил webhdfs и использовал команду curl, чтобы получить домашний каталог.
curl -i "http://172.16.30.40:50075/webhdfs/v1?user.name=ubantu&op=GETFILESTATUS"
Он работает для GETHOMEDIRECTORY, но не работает для других операций, таких как GETFILESTATUS, LISTSTATUS и т. д.
Я получаю исключение
**{"RemoteException":{"exception":"FileNotFoundException","javaClassName":"java.io.FileNotFoundException","message":"File /webhdfs/v1 not found."}}**
Вот файлы conf:
HDFS - site.xml
<configuration>
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<property>
<name>dfs.webhdfs.enabled</name>
<value>true</value>
</property>
<property>
<name>dfs.support.append</name>
<value>true</value>
</property>
</configuration>
Кто-нибудь может дать несколько предложений?
Спасибо.
1 ответ
Согласно документации (http://hadoop.apache.org/docs/ r1.0.4 / webhdfs.html # GETHOMEDIRECTORY), чтобы получить доступ к домашнему каталогу, вы должны использовать curl -i "http://<HOST>:<PORT>/webhdfs/v1/?op=GETHOMEDIRECTORY"
Также попробуйте использовать: 50070. Это порт, который я использую для веб-файлов, и он отлично работает.
curl -i "http://localhost:50070/webhdfs/v1/?op=GETHOMEDIRECTORY"
Обновление:
В вашем примере вы не указываете путь к файлу, статус которого нужно проверить. В приведенном ниже примере, если вы замените / path / на / your / путем к файлу, а затем замените 'file' на свое имя файла, то что это даст вам?
curl -i "http://localhost:50070/webhdfs/v1/path/to/your/file?op=GETFILESTATUS"
Похожие вопросы
Новые вопросы
java
Java — это высокоуровневый объектно-ориентированный язык программирования. Используйте этот тег, если у вас возникли проблемы с использованием или пониманием самого языка. Этот тег часто используется вместе с другими тегами для библиотек и/или фреймворков, используемых разработчиками Java.