我需要将大文件(至少14MB)从FIWARE Lab的Cosmos实例传输到我的后端.
我使用Spring RestTemplate作为此处描述的Hadoop WebHDFS REST API的客户端接口,但我遇到了IO异常:
Exception in thread "main" org.springframework.web.client.ResourceAccessException: I/O error on GET request for "http://cosmos.lab.fiware.org:14000/webhdfs/v1/user/<user.name>/<path>?op=open&user.name=<user.name>":Truncated chunk ( expected size: 14744230; actual size: 11285103); nested exception is org.apache.http.TruncatedChunkException: Truncated chunk ( expected size: 14744230; actual size: 11285103)
at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:580)
at org.springframework.web.client.RestTemplate.execute(RestTemplate.java:545)
at org.springframework.web.client.RestTemplate.exchange(RestTemplate.java:466)
Run Code Online (Sandbox Code Playgroud)
这是生成异常的实际代码:
RestTemplate restTemplate = new RestTemplate();
restTemplate.setRequestFactory(new HttpComponentsClientHttpRequestFactory());
restTemplate.getMessageConverters().add(new ByteArrayHttpMessageConverter());
HttpEntity<?> entity = new HttpEntity<>(headers);
UriComponentsBuilder builder =
UriComponentsBuilder.fromHttpUrl(hdfs_path)
.queryParam("op", "OPEN")
.queryParam("user.name", user_name);
ResponseEntity<byte[]> response =
restTemplate
.exchange(builder.build().encode().toUri(), HttpMethod.GET, entity, byte[].class);
FileOutputStream …
Run Code Online (Sandbox Code Playgroud) 我最近看到FIWARE Lab中对Cosmos的WebHDFS的访问受到了OAuth2的保护.我知道我必须向请求添加OAuth2令牌才能继续使用WebHDFS,但是:
如果没有令牌,API始终会返回:
$ curl -X GET "http://cosmos.lab.fi-ware.org:14000/webhdfs/v1/user/gtorodelvalle?op=liststatus&user.name=gtorodelvalle"
Auth-token not found in request header
Run Code Online (Sandbox Code Playgroud) 我已在FILAB中部署了Orion实例,并已配置了Cygnus inyector,以便在Cosmos中存储信息。
但是...让我们想象一下这样一种场景,其中实体的数量急剧增加。在这种假设的情况下,仅Orion GE的一个实例是不够的,因此有必要部署更多实例。
比例程序是什么?考虑到最大配额为:
VM实例:5个VCPU:10个硬盘:100 GB内存:10240 MB公用IP:1
我知道配额可能会更改,但是免费帐户限额是多少?
Cosmos头节点中的硬盘限制是多少?(理论上为5GB配额)
是否可以通过单个公共IP部署更多Orion Context Broker实例,还是有必要要求多个公共IP?怎么样?
总而言之,我要求提供有关拟议方案的扩展程序和免费帐户限制(可能的最大配额)的信息。
先感谢您。亲切的问候。
拉蒙