Index: C:/Dokumente und Einstellungen/chef/workspace/mapred/conf/nutch-default.xml
===================================================================
--- C:/Dokumente und Einstellungen/chef/workspace/mapred/conf/nutch-default.xml	(revision 292770)
+++ C:/Dokumente und Einstellungen/chef/workspace/mapred/conf/nutch-default.xml	(working copy)
@@ -360,6 +360,12 @@
 </property>
 
 <property>
+  <name>ndfs.datanode</name>
+  <value>7010</value>
+  <description>The port that the ndfs datanode server runs  at. </description>
+</property>
+
+<property>
   <name>ndfs.name.dir</name>
   <value>/tmp/nutch/ndfs/name</value>
   <description>Determines where on the local filesystem the NDFS name node
@@ -387,6 +393,27 @@
 </property>
 
 <property>
+  <name>mapred.job.tracker.info.port</name>
+  <value>7025</value>
+  <description>The port that the MapReduce job tracker info webserver runs  at.
+  </description>
+</property>
+
+<property>
+  <name>mapred.task.tracker.output.port</name>
+  <value>7030</value>
+  <description>The port that the MapReduce task tracker output server runs  at. 
+  </description>
+</property>
+
+<property>
+  <name>mapred.task.tracker.report.port</name>
+  <value>7040</value>
+  <description>The port that the MapReduce task tracker report server runs  at. 
+  </description>
+</property>
+
+<property>
   <name>mapred.local.dir</name>
   <value>/tmp/nutch/mapred/local</value>
   <description>The local directory where MapReduce stores intermediate
Index: C:/Dokumente und Einstellungen/chef/workspace/mapred/src/java/org/apache/nutch/ndfs/DataNode.java
===================================================================
--- C:/Dokumente und Einstellungen/chef/workspace/mapred/src/java/org/apache/nutch/ndfs/DataNode.java	(revision 291588)
+++ C:/Dokumente und Einstellungen/chef/workspace/mapred/src/java/org/apache/nutch/ndfs/DataNode.java	(working copy)
@@ -66,6 +66,7 @@
     Vector receivedBlockList = new Vector();
     int xmitsInProgress = 0;
     Daemon dataXceiveServer = null;
+    private NutchConf fConf;
 
     /**
      * Create given a configuration and a dataDir.
@@ -73,18 +74,19 @@
     public DataNode(NutchConf conf, String datadir) throws IOException {
         this(InetAddress.getLocalHost().getHostName(), 
              new File(datadir),
-             createSocketAddr(conf.get("fs.default.name", "local")));
+             createSocketAddr(conf.get("fs.default.name", "local")), conf);
+
     }
 
     /**
      * Needs a directory to find its data (and config info)
      */
-    public DataNode(String machineName, File datadir, InetSocketAddress nameNodeAddr) throws IOException {
+    public DataNode(String machineName, File datadir, InetSocketAddress nameNodeAddr, NutchConf conf) throws IOException {
         this.namenode = (DatanodeProtocol) RPC.getProxy(DatanodeProtocol.class, nameNodeAddr);
         this.data = new FSDataset(datadir);
 
         ServerSocket ss = null;
-        int tmpPort = 7000;
+        int tmpPort = conf.getInt("ndfs.datanode", 7010);
         while (ss == null) {
             try {
                 ss = new ServerSocket(tmpPort);
Index: C:/Dokumente und Einstellungen/chef/workspace/mapred/src/java/org/apache/nutch/mapred/TaskTracker.java
===================================================================
--- C:/Dokumente und Einstellungen/chef/workspace/mapred/src/java/org/apache/nutch/mapred/TaskTracker.java	(revision 291588)
+++ C:/Dokumente und Einstellungen/chef/workspace/mapred/src/java/org/apache/nutch/mapred/TaskTracker.java	(working copy)
@@ -65,17 +65,20 @@
     NutchFileSystem fs = null;
     File localDir = null;
 
+    private NutchConf fConf;
+
     /**
      * Start with the local machine name, and the default JobTracker
      */
-    public TaskTracker() throws IOException {
-      this(JobTracker.getAddress(NutchConf.get()));
-    }
+    public TaskTracker(NutchConf conf) throws IOException {
+      this(JobTracker.getAddress(conf), conf);
+       }
 
     /**
      * Start with the local machine name, and the addr of the target JobTracker
      */
-    public TaskTracker(InetSocketAddress jobTrackAddr) throws IOException {
+    public TaskTracker(InetSocketAddress jobTrackAddr, NutchConf conf) throws IOException {
+        this.fConf = conf;
         this.jobTrackAddr = jobTrackAddr;
         this.localDir = new File(JobConf.getLocalDir(), "tracker");
         initialize();
@@ -99,9 +102,10 @@
         this.tasks = new TreeMap();
         this.runningTasks = new TreeMap();
 
-        // generate port numbers
-        this.taskReportPort = 32768+r.nextInt(32768);
-        this.mapOutputPort = 32768+r.nextInt(32768);
+        // port numbers
+        this.taskReportPort = this.fConf.getInt("mapred.task.tracker.report.port", 7040);
+        
+        this.mapOutputPort = this.fConf.getInt("mapred.task.tracker.output.port", 7030);
 
         // RPC initialization
         this.taskReportServer =
@@ -621,7 +625,7 @@
             System.exit(-1);
         }
 
-        TaskTracker tt = new TaskTracker();
+        TaskTracker tt = new TaskTracker(NutchConf.get());
         tt.run();
     }
 }
