Команда WebHDFS OPEN возвращает пустые результаты

Я создал простой файл в HDFS по пути /user/admin/foo.txt

Я могу видеть содержимое этого файла в Хюэ.

Как я выдаю команду

curl -i http://namenode:50070/webhdfs/v1/user/admin/foo.txt?op=OPEN

Я получаю ответ

HTTP/1.1 307 TEMPORARY_REDIRECT
Cache-Control: no-cache
Expires: Tue, 24 Nov 2015 16:20:15 GMT
Date: Tue, 24 Nov 2015 16:20:15 GMT
Pragma: no-cache
Expires: Tue, 24 Nov 2015 16:20:15 GMT
Date: Tue, 24 Nov 2015 16:20:15 GMT
Pragma: no-cache
Location: http://datanode:50075/webhdfs/v1/user/admin/foo.txt?op=OPEN&namenoderpcaddress=nameservice1&offset=0
Content-Type: application/octet-stream
Content-Length: 0
Server: Jetty(6.1.26.cloudera.4)

почему длина контента: 0?? Я надеялся, что это перечислит содержимое файла.

1 ответ

Выполнение:

curl -i http://datanode:50075/webhdfs/v1/user/admin/foo.txt?op=OPEN&namenoderpcaddress=nameservice1&offset=0

Что касается объяснения - при использовании WebHDFS, чтобы открыть файл, вы должны сделать следующее:

  1. Вы не знаете, на каком узле находится файл, поэтому вы спрашиваете namenode.
  2. Наменод возвращает вам датодуду, содержащую файл.
  3. Затем вы можете открыть сам файл, поговорив напрямую с датодой.

Так что эта деятельность ожидается. См. https://hadoop.apache.org/docs/r1.0.4/webhdfs.html для получения дополнительной информации.

Другие вопросы по тегам