Hi Surendra,

Since, both public and private IPs are in same subnet, DN machien choosing
public interface to connect to NN, for which no mapping present in NN
machine.

Separate your IPs to different segments for private and public, then
communication will happen through corresponding interface.

Regards,
Vinay

Regards,
Vinay

On Mon, Sep 22, 2014 at 1:54 PM, Steve Loughran <ste...@hortonworks.com>
wrote:

> On 22 September 2014 08:02, surendra lilhore <surendra.lilh...@huawei.com>
> wrote:
>
> > org.apache.hadoop.hdfs.server.protocol.DisallowedDatanodeException:
> *Datanode
> > denied communication with namenode because hostname cannot be resolved*
> > (ip=10.18.0.108, hostname=10.18.0.108): DatanodeRegistration(10.18.0.117,
> > datanodeUuid=0ed5012a-7ef6-4b55-b87b-fec70296faa3, infoPort=25002,
> > ipcPort=50020, storageInfo=lv=-55;cid=myhacluster;nsid=1613974306;c=0)
> >
> >        at
> >
> org.apache.hadoop.hdfs.server.blockmanagement.DatanodeManager.registerDatanode(DatanodeManager.java:806)
> >
> >        at
> >
> org.apache.hadoop.hdfs.server.namenode.FSNamesystem.registerDatanode(FSNamesystem.java:4313)
> >
> >
> >
>
> 1. From a stack trace you are free to go back and work out what is
> happening.
> 2. By the look of things, It's  happening in the NN, working out who is
> calling it
>
>   public void registerDatanode(DatanodeRegistration nodeReg)
>       throws DisallowedDatanodeException, UnresolvedTopologyException {
>     InetAddress dnAddress = *Server.getRemoteIp();*
>
>
> As to why it's using the private IP over public, that's probably a decision
> by the networking stack deciding which interface can get packets to the NN.
>
>
>
> You do appear to be able to turn that check off:
>
>       if (checkIpHostnameInRegistration && !isNameResolved(dnAddress)) {
>         ...
> }
>
> which comes down to a configurable check:
>
>
>   public static final String
> DFS_NAMENODE_DATANODE_REGISTRATION_IP_HOSTNAME_CHECK_KEY =
> "dfs.namenode.datanode.registration.ip-hostname-check";
>   public static final boolean
> DFS_NAMENODE_DATANODE_REGISTRATION_IP_HOSTNAME_CHECK_DEFAULT = true;
>
>
> try setting it to false and the check will be skipped. Be advised though
> -the NN does appear to save the senders IP to use for the RPC channel in
> future, so if the NN cannot reach the DN via the same IP address that it
> registered on —you won't have a file system.
>
> I'd play with network settings, especially the routing options on your
> floating vs VPN addresses.
>
> --
> CONFIDENTIALITY NOTICE
> NOTICE: This message is intended for the use of the individual or entity to
> which it is addressed and may contain information that is confidential,
> privileged and exempt from disclosure under applicable law. If the reader
> of this message is not the intended recipient, you are hereby notified that
> any printing, copying, dissemination, distribution, disclosure or
> forwarding of this communication is strictly prohibited. If you have
> received this communication in error, please contact the sender immediately
> and delete it from your system. Thank You.
>

Reply via email to