我不能写(放)到我创建的Hadoop MiniCluster


null: [HTTP/1.1 405 HTTP method 
PUT is not supported by this 
URL]
Server: 
[Jetty(6.1.26.cloudera.4)]
Pragma: [no-cache]
Content-Length: [0]
X-FRAME-OPTIONS: [SAMEORIGIN]
Date: [Wed, 13 Oct 2021  
17:05:16 GMT]

"putTest()抛出IOException {System.out.println("罚:Entry");

URL url = new URL("http://localhost:50070/webapps/v1/longdata.txt&op=CREATE");
HttpURLConnection con = (HttpURLConnection) url.openConnection();
con.setRequestMethod("PUT");
con.setDoOutput(true);
con.getOutputStream().write("Hey Guys".getBytes(StandardCharsets.UTF_8));
Map<String, List<String>> headers = con.getHeaderFields();
for (String header : headers.keySet())
{

System.out.println(header + ": " + headers.get(header));
}
System.out.println("putTest : Exit");

}

"

您需要两个请求—一个请求到namenode端口,它在namenode上创建文件,然后返回一个datanode地址,你发送第二个地址来写内容流。

但是,您使用的是Java,所以只需使用FileSystem.create方法的hadoop-client依赖项,不要使用HttpURLConnection

最新更新