[ 
https://issues.apache.org/jira/browse/HDFS-7586?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Alexander A. reopened HDFS-7586:
--------------------------------

I catch this issue while trying to copy data between cdh4 and cdh5 clusters. 
Even if dfs.namenode.rpc-address explicitly set in hdfs-site.xml, Location 
returned by GET query to tcp/50070 has nnaddr=0.0.0.0:8020. And query to 
namenode tcp/50075 with this parameter leds to 500 error from daemon.

> HFTP does not work when namenode bind on wildcard
> -------------------------------------------------
>
>                 Key: HDFS-7586
>                 URL: https://issues.apache.org/jira/browse/HDFS-7586
>             Project: Hadoop HDFS
>          Issue Type: Bug
>          Components: datanode
>    Affects Versions: 2.2.0, 2.3.0, 2.4.0
>            Reporter: Benoit Perroud
>            Priority: Minor
>         Attachments: HDFS-7586-v0.1.txt
>
>
> When wildcard binding for NameNode RPC is turned on (i.e.  
> dfs.namenode.rpc-address=0.0.0.0:8020), HFTP download is failing.
> Call to http://namenode:50070/data/.. returns the header Location with 
> parameter nnaddr=0.0.0.0:8020, which is unlikely to ever succeed :)
> The idea would be, if wildcard binding is enabled, to get read the IP address 
> the request is actually connected to from the HttpServletRequest and return 
> this one.
> WDYT?
> How to reproduce:
> 1. Turn on wildcard binding
> {code}dfs.namenode.rpc-address=0.0.0.0:8020{code}
> 2. Upload a file
> {code}$ echo "123" | hdfs dfs -put - /tmp/randomFile.txt{code}
> 3. Validate it's failing
> {code}
> $ hdfs dfs -cat hftp://namenode1/tmp/randomFile.txt
> {code}
> 4. Get more details via curl
> {code}
> $ curl -vv http://namenode1:50070/data/tmp/randomFile.txt?ugi=hdfs | grep 
> "Location:"
>  Location: 
> http://datanode003:50075/streamFile/tmp/randomFile.txt?ugi=hdfs&nnaddr=0.0.0.0:8020
> {code}
> We can clearly see the 0.0.0.0 returned as the NN ip.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to