Hadoop 세팅 중 namenode를 실행하는데 

bin/hdfs --daemon start namenode

 

 

9870 포트를 선점하고 있는 프로세스가 없음에도 아래와 같은 에러가 발생하며 실패하는 경우가 있음

org.apache.hadoop.http.HttpServer2: HttpServer.start() threw a non Bind IOException port in use 9870

 

 

이 문제는 사설 네트워크로 구성된 서버에서 eth0에 사설 IP가 부여되어 있는데,

hdfs-site.xml의 dfs.namenode.http-address.CLUSTER-NAME.nn1 에 hadoop-nn1.mydomain.com:9870 처럼 설정되어 있는 경우,

hadoop이 9870 포트를 바인딩할 때 공인 IP를 찾다가 일어나는 경우로 보임.

 

/etc/hosts에 아래처럼 사설 IP로 지정해주면 해결되었음.

192.168.0.100 hadoop-nn1.mydomain.com

 

 

 

 

 

 

Posted by bloodguy
,