module Nn_config:Configuration of name nodessig..end
class type nn_node_config =object..end
val extract_node_config : Netplex_types.config_file -> nn_node_configNn_config.nn_node_config
      for explanations):
         netplex {
           ...
           namenodes {
             clustername = "cluster1";  (* required *)
             node { addr = "hostname:port" };
             node { addr = "hostname:port" };
             ...
             hostname = "hostname";     (* optional *)
             timeout = 60.0;            (* optional *)
             alive_min = 1;             (* optional *)
             alive_min_startup = 1;     (* optional *)
             elect_timeout 300.0;       (* optional *)
             rank = "0";                (* mandatory *)
             replication = 3;           (* optional *)
             inodecache { port = <port> };
           }
           datanodes {
             node { addr = "hostname:port" }
             node { addr = "hostname:port" }
             ...
             timeout = 60.0;            (* optional *)
             blocksize = 65536;         (* mandatory *)
           }
           ...
         }
      
      The parameter rank can also be given by running a script that
      outputs the rank to stdout. This script must be given as 
      parameter rank_script.
      Instead of describing the nodes directly in the config file
      using node subsections, one can also point to external file:
 
         node_list = "filename";
         port = <default_port>;
      
      These two parameters can replace both the node subsections for
      namenodes and for datanodes. The external file enumerates the
      hosts, one hostname a line (with shell-style comments). 
Special values:
alive_min and alive_min_startup can also be set to "all"
        (in double quotes). This means all configured name nodes must
        be availablereplication can also be set to "max" (in double quotes). This
        means that the replication is set to the number of data nodes.val bmaprowsize : int