You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-dev@hadoop.apache.org by "Hairong Kuang (JIRA)" <ji...@apache.org> on 2006/06/14 23:48:30 UTC

[jira] Commented: (HADOOP-59) support generic command-line options

    [ http://issues.apache.org/jira/browse/HADOOP-59?page=comments#action_12416263 ] 

Hairong Kuang commented on HADOOP-59:
-------------------------------------

I am thinking to design the ToolBase as follows:

public class ToolBase implements Tool extends Configured { 
  public final void main(String[] args) throws Exception { 
    Configuration conf = new Configuration(); 
    String [] commandOptions = parseGeneralOptions( conf, args );
    this.configure( conf ); 
    this.run( commandOptions ); 
  } 
} 

ParseGeneralOptions parses the arguments, looks for general options, and sets configuration accordingly. It returns command-specific options.

I plan to support 4 general options:

-fs <local | namenode:port>             specify file system 
-jt <local | jobtracker:port>                 specify job tracker
-config <configuration file>                specify a file that contains application-specific configuration
-Dname=value                                     set a porperty to be value

> support generic command-line options
> ------------------------------------
>
>          Key: HADOOP-59
>          URL: http://issues.apache.org/jira/browse/HADOOP-59
>      Project: Hadoop
>         Type: Improvement

>   Components: conf
>     Versions: 0.2.0
>     Reporter: Doug Cutting
>     Assignee: Hairong Kuang
>     Priority: Minor
>      Fix For: 0.4.0
>  Attachments: Tool.java, ToolBase.java, bashfile.patch, toolbase.patch
>
> Hadoop commands should all support some common options.  For example, it should be possible to specify the namenode, datanode, and, for that matter, any config option, in a generic way.
> This could be implemented with code like:
> public interface Tool extends Configurable {
>   void run(String[] args) throws Exception;
> }
> public class ToolBase implements Tool extends Configured {
>   public final void main(String[] args) throws Exception {
>     Configuration conf = new Configuration();
>     ... parse config options from args into conf ...
>     this.configure(conf);
>     this.run();
>   }
> }
> public MyTool extends ExcecutableBase {
>   public static void main(String[] args) throws Exception {
>     new MyTool().main(args);
>   }
> }
> The general command line syntax could be:
> bin/hadoop [generalOptions] command [commandOptions]
> Where generalOptions are things that ToolBase handles, and only the commandOptions are passed to Tool.run().  The most important generalOption would be '-D', which would define name/value pairs that are set in the configuration.  This alone would permit folks to set the namenode, datanode, etc.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira