标签: webhdfs

使用--negotiate with curl时,是否需要keytab文件?

描述如何连接到kerberos安全端点的文档显示以下内容:

curl -i --negotiate -u : "http://<HOST>:<PORT>/webhdfs/v1/<PATH>?op=..."
Run Code Online (Sandbox Code Playgroud)

-u必须提供该标志,但curl会忽略该标志.

--negotiate选项是否导致curl查找事先使用该kinit命令创建的keytab ,或者是否会卷曲提示输入凭据?

如果它查找keytab文件,该命令将查找哪个文件名?

curl hadoop kerberos webhdfs keytab

25
推荐指数
2
解决办法
4万
查看次数

WebHDFS与HttpFS

是什么之间的区别WebHDFS REST APIHttpFS

如果我理解正确:

  • HttpFS是一个独立的服务,它在HDFS之上公开REST API
  • WebHDFS是内置于HDFS的REST API.它不需要任何进一步的安装

我对么?

什么时候建议使用一个而不是另一个?

hadoop webhdfs

21
推荐指数
1
解决办法
1万
查看次数

有没有办法使用WebHDFS REST API下载HDFS文件?

有没有什么方法可以使用WebHDFS REST API从HDFS下载文件?我最接近的是使用open操作来读取文件并保存内容.

curl -i -L "http://localhost:50075/webhdfs/v1/demofile.txt?op=OPEN" -o ~/demofile.txt
Run Code Online (Sandbox Code Playgroud)

是否有任何API可以让我直接下载文件而无需打开它?我浏览了官方文档并尝试了谷歌,但找不到任何东西.有人能指出我正确的方向还是给我一些指示?

非常感谢你宝贵的时间.

hadoop hdfs webhdfs

12
推荐指数
1
解决办法
9710
查看次数

Hdfs把VS webhdfs

我正在使用webhdfs在hadoop hdfs中加载28 GB文件,加载大约需要25分钟.

我尝试使用hdfs put加载相同的文件,花了大约6分钟.为什么性能差异如此之大?

建议使用什么?有人可以解释或指导我一些良好的链接,这将是非常有帮助的.

在我们下面是我正在使用的命令

curl -i --negotiate -u: -X PUT "http://$hostname:$port/webhdfs/v1/$destination_file_location/$source_filename.temp?op=CREATE&overwrite=true"
Run Code Online (Sandbox Code Playgroud)

这将重定向到我在下一步用于写入数据的datanode地址.

hadoop hdfs webhdfs

9
推荐指数
3
解决办法
1万
查看次数

HADOOP/YARN - ResourceManager和hdfs NameNode是否始终安装在同一主机上?

"资源管理器"和"hdfs名称节点"是否始终安装在同一主机上?

1)当我想发送一个http请求(YARN REST API)来获取新的应用程序ID时,我正在使用这个web uri:

http://<rm http address:port>/ws/v1/cluster/apps/new-application
Run Code Online (Sandbox Code Playgroud)

这个端口是Resource-Manager Web UI http端口,它的默认值是8088,如img1:img1的源码所示纱线端口

2)当我想为hdfs命令发送http请求(WebHDFS REST API)时,例如为了获取文件状态我正在使用这个web uri:

http://<HOST>:<PORT>/webhdfs/v1/<PATH>?op=GETFILESTATUS
Run Code Online (Sandbox Code Playgroud)

<PORT>是NameNode WebUI http端口,它的默认值是50070,如img2:img2的源码所示 HDFS端口

这些组件的主机(ResourceManager和NaneNode)是否始终安装在同一主机上?

任何帮助将不胜感激,谢谢!

apache rest hadoop hadoop-yarn webhdfs

8
推荐指数
1
解决办法
5069
查看次数

我应该使用哪个nodejs库写入HDFS?

我有一个nodejs应用程序,我想将数据写入hadoop HDFS文件系统.我见过两个可以做到的主要nodejs库:node-hdfs和node-webhdfs.有人尝试过吗?任何提示?我应该在生产中使用哪一个?

我倾向于使用node-webhdfs,因为它使用WebHDFS REST API.node-hdfs似乎是一个c ++绑定.

任何帮助将不胜感激.

hadoop hdfs node.js webhdfs

7
推荐指数
2
解决办法
6036
查看次数

Namenode高可用性客户端请求

任何人都可以告诉我,如果我使用Java应用程序请求使用Namenode HA设置对HDFS进行一些文件上传/下载操作,请求首先在哪里?我的意思是客户端如何知道哪个namenode是活动的?

如果您提供一些工作流程类型图或详细解释请求步骤(从头到尾),那将会很棒.

hadoop hdfs webhdfs hadoop2

7
推荐指数
2
解决办法
4276
查看次数

如何使用Hadoop WebHDFS读取和传输文件块?

我需要将大文件(至少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)

hadoop httpclient webhdfs fiware fiware-cosmos

6
推荐指数
1
解决办法
934
查看次数

Internet Explorer始终使用NTLM而不是Kerberos

我试图HDFS从Internet Explorer 浏览我的系统但由于某种原因它总是使用NTLM而不是Kerberos,所以我收到消息

GSSException:检测到有缺陷的令牌(机制级别:GSSHeader找不到正确的标签)

如果我从Firefox浏览(设置属性后network.auth.use-sspi=falsenetwork.negotiate-auth.trusted-uris=https://pd-vrt-21488)一切工作正常.

IE我添加https://pd-vrt-21488:50470到本地Intranet站点列表并启用" Integrated Windows Authentication".

通过使用Fiddler查看请求,我看到Firefox使用KerberosIE使用之间的区别NTLM.Firefox标题:

Authorization: Negotiate YIICyAYGKwYB .....much more character.....V2HbPG57vXnQ7Vm7ba7MTJ7qzJ7zA7+1foY=
Run Code Online (Sandbox Code Playgroud)

IE标题:

Authorization: Negotiate TlRMTVNTUAABAAAAl4II4gAAAAAAAAAAAAAAAAAAAAAGAbEdAAAADw==
Run Code Online (Sandbox Code Playgroud)

有什么想法有什么不对吗?

authentication internet-explorer ntlm kerberos webhdfs

6
推荐指数
0
解决办法
550
查看次数

使用 Python 通过 Kerberos 身份验证连接到 HDFS

我正在尝试连接到受 Kerberos 身份验证保护的 HDFS。我有以下详细信息,但不知道如何继续。

User
Password
Realm
HttpFs Url
Run Code Online (Sandbox Code Playgroud)

我尝试了以下代码,但出现身份验证错误:

from hdfs.ext.kerberos import KerberosClient
import requests
import logging

logging.basicConfig(level=logging.DEBUG)

session = requests.Session()
session.verify = False

client = KerberosClient(url='http://x.x.x.x:abcd', session=session, 
mutual_auth='REQUIRED',principal='abcdef@LMNOPQ')

print(client.list('/'))
Run Code Online (Sandbox Code Playgroud)

错误

INFO:hdfs.client:Instantiated   
<KerberosClient(url=http://x.x.x.x:abcd)>.
INFO:hdfs.client:Listing '/'.
DEBUG:hdfs.client:Resolved path '/' to '/'.
DEBUG:hdfs.client:Resolved path '/' to '/'.
DEBUG:urllib3.connectionpool:Starting new HTTP connection (1): 
DEBUG:urllib3.connectionpool:http://x.x.x.x:abcd "GET /webhdfs/v1/? 
op=LISTSTATUS HTTP/1.1" 401 997
DEBUG:requests_kerberos.kerberos_:handle_401(): Handling: 401
ERROR:requests_kerberos.kerberos_:generate_request_header(): authGSSClientInit() failed:
Traceback (most recent call last):
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/requests_kerberos/kerberos_.py", line 213, in generate_request_header
gssflags=gssflags, principal=self.principal)
kerberos.GSSError: ((' No …
Run Code Online (Sandbox Code Playgroud)

kerberos hdfs python-3.x webhdfs

6
推荐指数
1
解决办法
3892
查看次数