Created on 10-16-2013 10:11 AM - edited 09-16-2022 01:49 AM
I have manually installed CDH4 on a machine according to the default configurations given in the Cloudera installation documentation.
I configured the machine to run in pseudo-distributed mode and the pseudo-cluster is working as expected when using the HDFS and MapReduce programs on the machine itself.
However, I have an application that is need of access to the NameNode port (8020). I am unable to make a connection to this port from an external machine despite having this port opened on the firewall. I found that the NameNode service is only listening on the localhost, thus rejecting requests from outside machines to communicate on this port.
$ sudo netstat -tulpn | grep :8020
tcp 0 0 127.0.0.1:8020 0.0.0.0:* LISTEN 16504/java
I want this service to listen to requests outside of the machine itself, just like I can communicate through port 50030 or 50070 on another machine. I have configured vi /etc/hadoop/conf.pseudo.mr1/core-site.xml to reference the machine name (hadoop) rather than localhost:
<property> <name>fs.default.name</name> <value>hdfs://hadoop:8020</value> </property>
After restarting the NameNode service, I find that it is still only listening of 127.0.0.1. Is there any way to open to this port up for external usage?
Created 10-16-2013 12:03 PM
I found the solution. I had neglected to find the article detailing network configuration which specified that the /etc/hosts file should have the fully-qualified domain name listed, not just the machine name.
Created 10-16-2013 12:03 PM
I found the solution. I had neglected to find the article detailing network configuration which specified that the /etc/hosts file should have the fully-qualified domain name listed, not just the machine name.
Created 10-16-2013 12:34 PM
Thanks for closing the loop with us and posting back the solution, JakeZ
Created on 10-24-2014 05:07 AM - edited 10-24-2014 05:08 AM
The solution is much Simpler
In the HDFS configuration in cloudera there is a property called
Bind NameNode to Wildcard Address. You just need to check the box and it will bind the service on 0.0.0.0
then restart hdfs service
[cloudera@localhost ~]$ sudo netstat -tulpn | grep :8020
tcp 0 0 0.0.0.0:8020 0.0.0.0:* LISTEN 29966/java
Created 09-30-2019 05:13 AM
Please guide how to follow step by step. thank you very much!