У нас есть учетная запись COSMOS на cosmos.lab.fi-ware.org
, и мы можем загружать файлы локально в кластер.
Однако у нас возникли проблемы с удаленной загрузкой инструкций, которым мы следовали на сайт гида показывает следующее:
Однако использование WebHDFS/HttpFS RESTful API позволит вам загружать файлы, существующие за пределами глобального экземпляра Cosmos в FI-LAB. В следующем примере вместо WebHDFS используется HttpFS (используется порт TCP/14000 вместо TCP/50070), а curl используется в качестве HTTP-клиента (но ваши приложения должны реализовать собственный HTTP-клиент):
[remote-vm]$ curl -i -X PUT "http://cosmos.lab.fi-ware.org:14000/webhdfs/v1/user/$COSMOS_USER/input_data?op=MKDIRS&user.name=$COSMOS_USER" [remote-vm]$ curl -i -X PUT ..etc [remote-vm]$ curl -i -X PUT -T etc..
Как видите, загрузка данных — это двухэтапная операция, как указано в спецификации WebHDFS: первый вызов API взаимодействует напрямую с головным узлом, указывая создание нового файла и его имя; затем головной узел отправляет временный ответ о перенаправлении, указывая узел данных среди всех существующих в кластере, где должны храниться данные, что является конечной точкой второго шага. Тем не менее, шлюз HttpFS реализует тот же API, но его внутреннее поведение меняется, и перенаправление указывает на сам головной узел.
Однако, когда мы запускаем эти команды, мы получаем ошибки сервера, например:
~ kari$ -bash: user.name=kdempsey: command not found
HTTP/1.1 100 Continue
HTTP/1.1 401 Unauthorized
Server: Apache-Coyote/1.1
Set-Cookie: hadoop.auth=""; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/
Content-Type: text/html;charset=utf-8
Content-Length: 1275
Date: Fri, 05 Jun 2015 12:58:20 GMT
Apache Tomcat/6.0.32 - Error report<!--H1 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:22px;} H2 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:16px;} H3 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:14px;} BODY {font-family:Tahoma,Arial,sans-serif;color:black;background-color:white;} B {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;} P {font-family:Tahoma,Arial,sans-serif;background:white;color:black;font-size:12px;}A {color : black;}A.name {color : black;}HR {color : #525D76;}-->
HTTP Status 401 - org.apache.hadoop.security.authentication.client.AuthenticationException: Anonymous requests are disallowed
type Status report
message org.apache.hadoop.security.authentication.client.AuthenticationException: Anonymous requests are disallowed
description This request requires HTTP authentication (org.apache.hadoop.security.authentication.client.AuthenticationException: Anonymous requests are disallowed).
Apache Tomcat/6.0.32
Еще была ошибка сервера 500. Не могли бы вы предоставить команды для удаленной загрузки файла в общий ресурс COSMOS.
В конечном итоге мы хотим взять данные из нашей InfluxDB и загрузить в COSMOS, мы хотели бы сделать это через вызов REST, если это возможно (иначе python).
Большое спасибо, Кари
~ kari$ -bash: user.name=kdempsey: command not found
, в котором, с одной стороны, отсутствует большая часть URL-адреса, а с другой стороны, мне кажется, что у вас был возврат каретки после первой части URL-адреса. - person frb   schedule 09.06.2015