BindException
You can get a BindException java.net.BindException: Address already in use if a socket on a machine is already in use and a service (NameNode, JobTracker, DataNode, TaskTracker, HTTP Server, etc.) tries to create a sort on that same port to listen for incoming requests.
How to track down the problem
- identify which port the program is trying to bind to
use netstat -a -t --numeric-ports -p to list the ports that are in use by number and process.
- identify the port that is in use and the program that is in use
try and identify why it is in use. Telnet <port> and pointing a web browser at it are both good tricks.
- change the configuration of one of the programs to listen on a different port.