我尝试在本地向HDFS发送文件。另一个命令很好,但我创建文件时出错。
我的命令如下:
curl-i-X PUT-T Documents/Node/test.json“http://localhost:50075/webhdfs/v1/user/hadoop/test.json?op=create
返回的结果如下:
HTTP/1.1 100继续
HTTP/1.1 400错误请求Content-Type:application/json;charset=utf-8 Content-长度:161连接:关闭
{ " remote exception ":{ " exception ":" IllegalArgumentException "," Java class name ":" Java . lang . IllegalArgumentException "," message ":" Java . net . unknown hostexception:null " }
我不知道为什么会出错。
我解决这个问题。
首先,我必须在不发送文件数据的情况下提交一个HTTP PUT请求。然后,Hadoop将一条重定向消息返回到要写入文件数据的datanode。之后,复制一个位置路径,并使用复制的位置提交另一个HTTP PUT请求,其中包含要写入的文件数据。