@Override
	    public void run(){   
	       try{
	    	   System.out.println("HireDataNodeServer is waiting for new workers on the port: "+this.portNum);
	           while(running){
	               Socket dataNodeSocket = serverSocket.accept();
	               DataNodeManagerServer managerServer = new DataNodeManagerServer(nn,dataNodeSocket); 
	               new Thread(managerServer).start();
	           } 
	       }catch(IOException e){
	           e.printStackTrace();
	           System.out.println("socket server accept failed");
	       }
	       try {
	        serverSocket.close();
	       } catch (IOException e) {
	        e.printStackTrace();
	        System.out.println("socket Server failed to close");
	    }
	        
	    }