hadoop-mapreduce-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Allen Wittenauer ...@effectivemachines.com>
Subject Re: [DISCUSS] Changing the default class path for clients
Date Mon, 03 Apr 2017 18:08:44 GMT


	"Prints the class path needed to get the Hadoop jar and the required libraries.”

 2.8.0 and 3.0.0:

	"Prints the class path needed to get the Hadoop jar and the required libraries. If called
without arguments, then prints the classpath set up by the command scripts, which is likely
to contain wildcards in the classpath entries.”

	I would take that to mean “what gives me all the public APIs?”  Which, by definition,
should all be in hadoop-client-runtime (with the possible exception of the DistributedFileSystem
Quota APIs, since for some reason those are marked public.) 

Let me ask it a different way:

	Why should ‘yarn jar’, ‘mapred jar’, ‘hadoop distcp’, ‘hadoop fs’, etc, etc,
etc, have anything but hadoop-client-runtime as the provided jar? Yes, some things might break,
but given this is 3.0, some changes should be expected anyway. Given the definition above
"needed to get the Hadoop jar and the required libraries”  switching this over seems correct.

> On Apr 3, 2017, at 10:37 AM, Esteban Gutierrez <esteban@cloudera.com> wrote:
> I agreed with Andrew too. Users have relied for years on `hadoop classpath` for their
script to launch jobs or other tools, perhaps no the best idea to change the behavior without
providing a proper deprecation path.
> thanks!
> esteban.
> --
> Cloudera, Inc.
> On Mon, Apr 3, 2017 at 10:26 AM, Andrew Wang <andrew.wang@cloudera.com> wrote:
> What's the current contract for `hadoop classpath`? Would it be safer to
> introduce `hadoop userclasspath` or similar for this behavior?
> I'm betting that changing `hadoop classpath` will lead to some breakages,
> so I'd prefer to make this new behavior opt-in.
> Best,
> Andrew
> On Mon, Apr 3, 2017 at 9:04 AM, Allen Wittenauer <aw@effectivemachines.com>
> wrote:
> >
> >         This morning I had a bit of a shower thought:
> >
> >         With the new shaded hadoop client in 3.0, is there any reason the
> > default classpath should remain the full blown jar list?  e.g., shouldn’t
> > ‘hadoop classpath’ just return configuration, user supplied bits (e.g.,
> > hadoop-client-runtime? We’d obviously have to add some plumbing for daemons
> > and the capability for the user to get the full list, but that should be
> > trivial.
> >
> >         Thoughts?
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: common-dev-unsubscribe@hadoop.apache.org
> > For additional commands, e-mail: common-dev-help@hadoop.apache.org
> >
> >

To unsubscribe, e-mail: mapreduce-dev-unsubscribe@hadoop.apache.org
For additional commands, e-mail: mapreduce-dev-help@hadoop.apache.org

View raw message