[ 
https://issues.apache.org/jira/browse/HADOOP-1815?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12523902
 ] 

Doug Cutting commented on HADOOP-1815:
--------------------------------------

> we faced this problem while using distcp [ ...]

Ah.  I think one could make a case for a hadoop-user jar, that includes 
standard, supported stuff, like distcp, aggregate, etc., that's not part of the 
kernel, and should hence not be included in the kernel's jar that's used on 
servers.  A clean way to do this would be to use a separate source tree.  So we 
might split src/java into src/sys and src/user, and replace hadoop-core.jar 
with hadoop-sys.jar and hadoop-user.jar.  Some client-side stuff, like 
DFSClient and JobClient, would still be in the kernel jar, so the split 
wouldn't be client/server but rather user/system.  Could that work?

Alternately, we could move such things into src/contrib, which is already built 
as separate jars and only contains user code.  In any case, we should attempt 
to minimize what's in the system jar file to avoid problems like this.

> Separate client and server jars
> -------------------------------
>
>                 Key: HADOOP-1815
>                 URL: https://issues.apache.org/jira/browse/HADOOP-1815
>             Project: Hadoop
>          Issue Type: Bug
>          Components: build
>    Affects Versions: 0.14.0
>         Environment: All
>            Reporter: Milind Bhandarkar
>             Fix For: 0.15.0
>
>
> For the ease of deployment, one should not have to change the server jars, 
> and restart clusters, when minor features on the client side are changed. 
> This requireds separating client and server jars for hadoop. Version numbers 
> appended to hadoop jars can reflect the compatibility. e.g. the server jar 
> could be at 0.13.1, and the client jar could be at 0.13.2. In short, we can 
> treat the part following 0. as the "major" version number for now.
> This allows major client frameworks such as streaming and Pig happy. To my 
> knowledge, Pig uses hadoop's default jobclient. Whereas streaming uses its 
> own jobclient. I would love to change streaming to use the default hadoop 
> jobclient, if I can make modifications to it (e.g. to print more stats that 
> are available from TaskReport, for example), if I do not have to deploy the 
> new version of the whole jar to the backend and restart the mapreduce cluster.
> (I thought there was already a bug filed for separating the client and server 
> jar, but I could not find it. Hence the new Jira. Sorry about duplication, if 
> any.)

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to