Support Questions
Find answers, ask questions, and share your expertise

Datanode behind NAT can not register on Namenode

New Contributor


I am trying to migrate the network setup for our cluster. I was able to add a node which is on a private IP address, but the node can not be registered on the Nameserver because of this error:


Initialization failed for Block pool BP-135433754- (Datanode Uuid fb23bd1d-a1ce-483e-8268-f2df87c65740) service to NN_FQDN/NN_PUBLIC_IP:8022 Datanode denied communication with namenode because the host is not in the include-list: DatanodeRegistration(NAT_IP, datanodeUuid=fb23bd1d-a1ce-483e-8268-f2df87c65740, infoPort=50075, infoSecurePort=0, ipcPort=50020, storageInfo=lv=-56;cid=cluster16;nsid=131602049;c=0)


I have dfs.namenode.datanode.registration.ip-hostname-check set to false, but i think this is not related to a DNS.


I think it is because the registration request come from a NAT ip and not from which is the private IP of the node registering.


NN_PUBLIC_IP is a public IP address while the request is coming from which goes trough a NAT gateway, and to the NN is looks like it is coming from NAT_IP which is not on network


I have the feeling that the datanodeUuid includes the private IP of the Datannode and the Namenode see it coming from a NAT IP and thus the check fails.


Any ideas how I could resolve this ?



; ;