Hi Guys,
I recently configured my cluster to have 2 VMs. I configured 1
machine (slave3) to be the namenode and another to be the
jobtracker (slave2). They both work as datanode/tasktracker as well.

Both configs have the following contents in their masters and slaves file:
*slave2*
*slave3*

Both machines have the following contents on their mapred-site.xml file:
*<?xml version="1.0"?>*
*<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>*
*
*
*<!-- Put site-specific property overrides in this file. -->*
*
*
*<configuration>*
* <property>*
* <name>mapred.job.tracker</name>*
* <value>slave2:9001</value>*
* </property>*
*</configuration>*

Both machines have the following contents on their core-site.xml file:
*<?xml version="1.0"?>*
*<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>*
*
*
*<!-- Put site-specific property overrides in this file. -->*
*
*
*<configuration>*
* <property>*
* <name>fs.default.name</name>*
* <value>hdfs://slave3:9000</value>*
* </property>*
*</configuration>*

When I log into the namenode and I run the start-all.sh script, everything
but the jobtracker starts. In the log files I get the following exception:

*/*************************************************************
*STARTUP_MSG: Starting JobTracker*
*STARTUP_MSG:   host = slave3/10.20.11.112*
*STARTUP_MSG:   args = []*
*STARTUP_MSG:   version = 0.20.2*
*STARTUP_MSG:   build =
https://svn.apache.org/repos/asf/hadoop/common/branches/branch-0.20 -r
911707; compiled by 'chrisdo' on Fri Feb 19 08:07:34 UTC 2010*
*************************************************************/*
*2011-05-31 13:54:06,940 INFO org.apache.hadoop.mapred.JobTracker: Scheduler
configured with (memSizeForMapSlotOnJT, memSizeForReduceSlotOnJT,
limitMaxMemForMapTasks, limitMaxMemForReduceTasks) (-1, -1, -1, -1)*
*2011-05-31 13:54:07,086 FATAL org.apache.hadoop.mapred.JobTracker:
java.net.BindException: Problem binding to slave2/10.20.11.166:9001 : Cannot
assign requested address*
*        at org.apache.hadoop.ipc.Server.bind(Server.java:190)*
*        at org.apache.hadoop.ipc.Server$Listener.<init>(Server.java:253)*
*        at org.apache.hadoop.ipc.Server.<init>(Server.java:1026)*
*        at org.apache.hadoop.ipc.RPC$Server.<init>(RPC.java:488)*
*        at org.apache.hadoop.ipc.RPC.getServer(RPC.java:450)*
*        at org.apache.hadoop.mapred.JobTracker.<init>(JobTracker.java:1595)
*
*        at
org.apache.hadoop.mapred.JobTracker.startTracker(JobTracker.java:183)*
*        at
org.apache.hadoop.mapred.JobTracker.startTracker(JobTracker.java:175)*
*        at org.apache.hadoop.mapred.JobTracker.main(JobTracker.java:3702)*
*Caused by: java.net.BindException: Cannot assign requested address*
*        at sun.nio.ch.Net.bind(Native Method)*
*        at
sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:126)*
*        at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:59)
*
*        at org.apache.hadoop.ipc.Server.bind(Server.java:188)*
*        ... 8 more*
*
*
*2011-05-31 13:54:07,096 INFO org.apache.hadoop.mapred.JobTracker:
SHUTDOWN_MSG:*
*/*************************************************************
*SHUTDOWN_MSG: Shutting down JobTracker at slave3/10.20.11.112*
*************************************************************/*


As I see it, from the lines

*STARTUP_MSG: Starting JobTracker*
*STARTUP_MSG:   host = slave3/10.20.11.112*

the namenode (slave3) is trying to run the jobtracker locally but when it
starts the jobtracker server it binds it to the slave2 address and of course
fails:

*Problem binding to slave2/10.20.11.166:9001*

What do you guys think could be going wrong?

Thanks!
Pony

Reply via email to