hadoop-common-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Dave Shine <Dave.Sh...@channelintelligence.com>
Subject RE: [jira] [Created] (HADOOP-7325) hadoop command - do not accept class names starting with a hyphen
Date Tue, 24 May 2011 12:19:09 GMT
I'm not sure if this is the intended behavior, but it sounds like this JIRA will change it.
 I found out the hard way that running

        hadoop jar myMapReduceJob.jar

runs the M/R job with the current hadoop configuration.  However running

        hadoop -jar myMarReduceJob.jar

runs the M/R job with a different configuration, something that appears to be stand alone
mode.  It drove me nuts for a few days before I realized that sometimes I was typing the dash
and sometimes not.

Dave



-----Original Message-----
From: Brock Noland (JIRA) [mailto:jira@apache.org]
Sent: Monday, May 23, 2011 9:23 PM
To: common-dev@hadoop.apache.org
Subject: [jira] [Created] (HADOOP-7325) hadoop command - do not accept class names starting
with a hyphen

hadoop command - do not accept class names starting with a hyphen
-----------------------------------------------------------------

                 Key: HADOOP-7325
                 URL: https://issues.apache.org/jira/browse/HADOOP-7325
             Project: Hadoop Common
          Issue Type: Improvement
          Components: scripts
            Reporter: Brock Noland
            Priority: Minor
         Attachments: hadoop-illegal-class-name-0.patch

If this is committed I will look at patches for hdfs and mapred.

When teaching a good portion of the students in every single class execute:

{code}
$ hadoop -fs ls /
{code}

The -fs is passed directly to the JVM and the JVM fails to start:

{code}
$ ./bin/hadoop -fs ls /
Unrecognized option: -fs
Could not create the Java virtual machine.
{code}

Which is confusing and typically requires explanation. The attached patch improves that behavior:

{code}
$ ./bin/hadoop -fs ls /
Error: No command named `-fs' was found. Perhaps you meant `hadoop fs'
{code}

The only risk I can see is if someone is abusing the implementation of hadoop command doing
something like so:

{code}
$ ./bin/hadoop -Xmx1g  org.apache.hadoop.util.RunJar
RunJar jarFile [mainClass] args...
{code}

The hadoop command does not appear to advertise allowing JVM options before the classname.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

The information contained in this email message is considered confidential and proprietary
to the sender and is intended solely for review and use by the named recipient. Any unauthorized
review, use or distribution is strictly prohibited. If you have received this message in error,
please advise the sender by reply email and delete the message.
Mime
View raw message