草庐IT

HDFS WebHDFS 读写文件分析及HTTP Chunk Transfer Encoding相关问题探究

文章目录前言需要回答的首要问题DataNode端基于Netty的WebHDFSService的实现基于重定向的文件写入流程写入一个大文件时WebHDFS和HadoopNative的块分布差异基于重定向的数据读取流程尝试读取一个小文件尝试读取一个大文件读写过程中的ChunkTransfer-Encoding支持写文件使用ChunkTransfer-Encoding读文件使用ChunkTransfer-EncodingResponseHeader中为什么没有Transfer-Encoding:chunked测试WebHDFS是否支持chunkTransfer-Encoding时的一个错误导致的错误

java - Hadoop Java 客户端 API 弄乱了我的 fsURI

我尝试在SpringBoot应用程序的JavaAPI的帮助下访问Hadoop沙箱中的HDFS。我使用配置参数spring.hadoop.fsUri指定访问文件系统的URI。HDFS本​​身受ApacheKnox保护(对我来说它应该充当处理身份验证的代理)。因此,如果我使用curl调用代理URI,我将使用与没有ApacheKnox时完全相同的语义。示例:curl-k-uguest:guest-passwordhttps://sandbox.hortonworks.com:8443/gateway/knox_sample/webhdfs/v1?op=GETFILESTATUS问题是我无法使

hadoop - 无法从主机访问到cloudera WEBHDFS( guest )

我已经阅读了所有这些链接中的WebHdfslink1link2link3使用telnet检查-端口已打开在cloudera(virtualbox)中进行必要的设置以启用webhdfs直接在cloudera上进行测试:[cloudera@quickstart~]$curl-i-L"http://10.0.0.88:50070/webhdfs/v1/user/cloudera/testdir/testFile?op=OPEN"HTTP/1.1307TEMPORARY_REDIRECThttp://quickstart.cloudera:50075/webhdfs/v1/user/cloud

hadoop webhdfs 创建。我无法传输文件

我无法将文件传输到Hadoop。下面我添加我使用过的命令和得到的错误。命令1:curl-i-XPUT"http://myip:50070/webhdfs/v1/tmp/tempForTest.txt?user.name=hadoop&op=CREATE&overwrite=false&createparent=false&replication=1&permission=777"HTTP/1.1307TEMPORARY_REDIRECTCache-Control:no-cacheExpires:Wed,18Apr201811:53:28GMTDate:Wed,18Apr201811:5

hadoop - 是否可以使用 webhdfs 在请求 url 中传递多个参数?

是否可以使用webhdfs在url中传递多个参数,例如如下所示?http://112.128.0.17:9870/webhdfs/v1/user/myuser/file2.txt&file1.txt?op=DELETE&user.name=myuser&createflag=&createparent=true&overwrite=false&recursive=true显然它只是一个不起作用的例子,但也许有什么办法可以做到这一点?还是需要发送多个请求? 最佳答案 除了您创建的URL甚至无效之外,答案是否定的。您需要一次发出一个请求

hadoop - 我们如何为 HDFS(Hadoop 分布式文件系统)开发代理

我正在进行一个研究项目,我需要为HDFS创建某种代理,这样我们就可以捕获对HDFS的调用,并在将其返回给用户之前应用一些访问/拒绝(文件)策略。对于像HttpFs和WebHDFS这样的HDFS接口(interface),很容易设计代理系统,因为它们使用HTTP与客户端通信。但是HDFS驱动程序使用使用ProtocolBuffer定义的协议(protocol)在客户端和名称节点之间进行通信。HDFS代码中是否有任何钩子(Hook)来设计围绕HDFS本​​机协议(protocol)的代理。Hadoop版本为2.6。 最佳答案 Apach

hadoop - 无法在 WebHdfs 中创建目录或文件

HortonworksSandbox文件浏览器显示WebHdfsException,并且在CLI中我无法创建目录或文件。怎么了?WebHdfsExceptionat/filebrowser/RequestMethod:GETRequestURL:http://127.0.0.1:8000/filebrowser/DjangoVersion:1.2.3ExceptionType:WebHdfsExceptionExceptionValue:异常位置:/usr/lib/hue/desktop/libs/hadoop/src/hadoop/fs/webhdfs.pyin_stats,line

hadoop - 使用 WebHDFS 复制文件

有没有一种方法可以将文件从(比方说)hdfs://old复制到hdfs://new而无需先下载文件然后再上传又是? 最佳答案 不知道WebHDFS,但这可以使用hadoopdistcp实现.该命令看起来像这样:hadoopdistcphdfs://old_nn:8020/old/location/path.filehdfs://new_nn:8020/new/location/path.file 关于hadoop-使用WebHDFS复制文件,我们在StackOverflow上找到一个类似

shell - Curl,Hadoop 上的 Kerberos 身份验证文件副本

我们需要在HDFS位置、HDFS文件夹之间建立一个文件副本。我们目前在shell脚本循环中使用了curl命令,如下所示。/usr/bin/curl-v--negotiate-u:-XPUT":/webhdfs/v1/busy/rg/stg/"$1"/"$table"/"$table"_"$3".dsv?op=RENAME&destination=/busy/rg/data/"$1"/"$table"/"$table"_$date1.dsv"不过这样就实现了文件的移动。我们需要建立一个文件副本,以便将文件保留在原始暂存位置。想知道有没有相应的curl操作?op=RENAME&destin

Hadoop 文件复制 native Java API 与 WebHDFS

我有一个需求,将文件从HDFS复制到本地。现在,我有2个选择。1)要么使用HadoopNativeJavaAPI(FileSystem)要么2)使用WebHDFS[我没有将它启用到我的集群的任何问题]谁能告诉我首选选项是什么以及为什么? 最佳答案 如果您使用的是Java,我建议您使用nativeJavaAPI,因为它更灵活并且给您更多的控制权。但是,如果您不想涉及Hadoop所需的数十个库,WebHDFS会更好。它解耦了您的应用程序和Hadoop。当然,你需要为HTTP付出一点性能代价。