You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hbase.apache.org by Josh Elser <el...@apache.org> on 2018/01/04 20:50:42 UTC

[DISCUSS] Interest in "client" and "server" tarballs?

Had an ask from some $dayjobs folks to split up the "monolithic" hbase 
binary tarball that we generate in the build into two pieces:

1. A minimal installation which would only contain things that "normal 
users" would need.
2. A server-side installation which would not contain things only used 
by clients (in reality, I think this would be essentially the same as 
our current tarball).

This would be pretty simple to do in >=2.0.0 with some extra assembly 
descriptors (with some of the extra break-out of classes previously in 
hbase-server), but I wasn't sure what kind of interest other folks would 
have. Obviously, I would only want to suggest such a change if there was 
buy-in from everyone else; otherwise, it will just cause fragmentation 
in the project. It's something easily (I think) achievable outside of 
the standard build process, so it's not something super-critical to be 
maintained upstream.

Any thoughts?

- Josh

Re: [DISCUSS] Interest in "client" and "server" tarballs?

Posted by Josh Elser <el...@apache.org>.

On 1/5/18 10:43 AM, Stack wrote:
> On Thu, Jan 4, 2018 at 2:50 PM, Josh Elser<el...@apache.org>  wrote:
> 
>> Had an ask from some $dayjobs folks to split up the "monolithic" hbase
>> binary tarball that we generate in the build into two pieces:
>>
>> 1. A minimal installation which would only contain things that "normal
>> users" would need.
>> 2. A server-side installation which would not contain things only used by
>> clients (in reality, I think this would be essentially the same as our
>> current tarball).
>>
>> This would be pretty simple to do in >=2.0.0 with some extra assembly
>> descriptors (with some of the extra break-out of classes previously in
>> hbase-server), but I wasn't sure what kind of interest other folks would
>> have. Obviously, I would only want to suggest such a change if there was
>> buy-in from everyone else; otherwise, it will just cause fragmentation in
>> the project. It's something easily (I think) achievable outside of the
>> standard build process, so it's not something super-critical to be
>> maintained upstream.
>>
>> Any thoughts?
>>
>>
> We've been working toward this goal w/ a good while now (Appy's untangling
> mapreduce and zookeeper breaking them out as distinct modules, Duo making
> client depend on basic, read-only usage of zk, the CP refactoring project,
> and so on).
> 
> An assembly that did an hbase-client tgz is probably not far off (Might
> require some more messing untangling dependency knots and tangles...). As
> per Drob, it would be good to foreground our shaded access artifacts.
> 
> Thanks Josh,
> S

Just opened up https://issues.apache.org/jira/browse/HBASE-19735 and 
parked an initial patch on it. Happy to entertain more discussion here 
or move it up there.

Our dependency de-coupling that Appy, et al, have been doing helped, but 
trying to make a "minimal" tarball for clients definitely still has some 
pains that require manual exclusions. Will continue to poke.

Re: [DISCUSS] Interest in "client" and "server" tarballs?

Posted by Josh Elser <el...@apache.org>.
On 1/5/18 10:43 AM, Stack wrote:
> On Thu, Jan 4, 2018 at 2:50 PM, Josh Elser <el...@apache.org> wrote:
> 
>> Had an ask from some $dayjobs folks to split up the "monolithic" hbase
>> binary tarball that we generate in the build into two pieces:
>>
>> 1. A minimal installation which would only contain things that "normal
>> users" would need.
>> 2. A server-side installation which would not contain things only used by
>> clients (in reality, I think this would be essentially the same as our
>> current tarball).
>>
>> This would be pretty simple to do in >=2.0.0 with some extra assembly
>> descriptors (with some of the extra break-out of classes previously in
>> hbase-server), but I wasn't sure what kind of interest other folks would
>> have. Obviously, I would only want to suggest such a change if there was
>> buy-in from everyone else; otherwise, it will just cause fragmentation in
>> the project. It's something easily (I think) achievable outside of the
>> standard build process, so it's not something super-critical to be
>> maintained upstream.
>>
>> Any thoughts?
>>
>>
> We've been working toward this goal w/ a good while now (Appy's untangling
> mapreduce and zookeeper breaking them out as distinct modules, Duo making
> client depend on basic, read-only usage of zk, the CP refactoring project,
> and so on).
> 
> An assembly that did an hbase-client tgz is probably not far off (Might
> require some more messing untangling dependency knots and tangles...). As
> per Drob, it would be good to foreground our shaded access artifacts.
> 
> Thanks Josh,
> S

Superb. Sounds like we're on the same page that something here would be 
aligned with the long-term vision. I'll try to see what I can whip up 
and we can iterate on that.

Thanks all.

Re: [DISCUSS] Interest in "client" and "server" tarballs?

Posted by Stack <st...@duboce.net>.
On Thu, Jan 4, 2018 at 2:50 PM, Josh Elser <el...@apache.org> wrote:

> Had an ask from some $dayjobs folks to split up the "monolithic" hbase
> binary tarball that we generate in the build into two pieces:
>
> 1. A minimal installation which would only contain things that "normal
> users" would need.
> 2. A server-side installation which would not contain things only used by
> clients (in reality, I think this would be essentially the same as our
> current tarball).
>
> This would be pretty simple to do in >=2.0.0 with some extra assembly
> descriptors (with some of the extra break-out of classes previously in
> hbase-server), but I wasn't sure what kind of interest other folks would
> have. Obviously, I would only want to suggest such a change if there was
> buy-in from everyone else; otherwise, it will just cause fragmentation in
> the project. It's something easily (I think) achievable outside of the
> standard build process, so it's not something super-critical to be
> maintained upstream.
>
> Any thoughts?
>
>
We've been working toward this goal w/ a good while now (Appy's untangling
mapreduce and zookeeper breaking them out as distinct modules, Duo making
client depend on basic, read-only usage of zk, the CP refactoring project,
and so on).

An assembly that did an hbase-client tgz is probably not far off (Might
require some more messing untangling dependency knots and tangles...). As
per Drob, it would be good to foreground our shaded access artifacts.

Thanks Josh,
S





> - Josh
>

Re: [DISCUSS] Interest in "client" and "server" tarballs?

Posted by Josh Elser <el...@apache.org>.
Depends on the definition of "covered", I think :)

I think that the shaded artifacts (client and mapreduce) would be 
contained in such as tarball as described by #1, but we would also have 
some more in there. A short list:

* hbase-env.sh and hbase-site.xml (or pared down versions, thereof)
* bin/hbase,hirb.rb,hbase-common.sh,hbase-config.sh
* Subset of jars and all of the ruby files in lib/

Essentially, whatever might be needed for a human who wants to interact 
with HBase as a "user". Things that an administrator would need would be 
in the #2 tarball.

On 1/4/18 3:54 PM, Mike Drob wrote:
> Isn't the first covered by the shaded-client and shaded-mapreduce artifacts?
> 
> On Thu, Jan 4, 2018 at 2:50 PM, Josh Elser <el...@apache.org> wrote:
> 
>> Had an ask from some $dayjobs folks to split up the "monolithic" hbase
>> binary tarball that we generate in the build into two pieces:
>>
>> 1. A minimal installation which would only contain things that "normal
>> users" would need.
>> 2. A server-side installation which would not contain things only used by
>> clients (in reality, I think this would be essentially the same as our
>> current tarball).
>>
>> This would be pretty simple to do in >=2.0.0 with some extra assembly
>> descriptors (with some of the extra break-out of classes previously in
>> hbase-server), but I wasn't sure what kind of interest other folks would
>> have. Obviously, I would only want to suggest such a change if there was
>> buy-in from everyone else; otherwise, it will just cause fragmentation in
>> the project. It's something easily (I think) achievable outside of the
>> standard build process, so it's not something super-critical to be
>> maintained upstream.
>>
>> Any thoughts?
>>
>> - Josh
>>
> 

Re: [DISCUSS] Interest in "client" and "server" tarballs?

Posted by Mike Drob <md...@apache.org>.
Isn't the first covered by the shaded-client and shaded-mapreduce artifacts?

On Thu, Jan 4, 2018 at 2:50 PM, Josh Elser <el...@apache.org> wrote:

> Had an ask from some $dayjobs folks to split up the "monolithic" hbase
> binary tarball that we generate in the build into two pieces:
>
> 1. A minimal installation which would only contain things that "normal
> users" would need.
> 2. A server-side installation which would not contain things only used by
> clients (in reality, I think this would be essentially the same as our
> current tarball).
>
> This would be pretty simple to do in >=2.0.0 with some extra assembly
> descriptors (with some of the extra break-out of classes previously in
> hbase-server), but I wasn't sure what kind of interest other folks would
> have. Obviously, I would only want to suggest such a change if there was
> buy-in from everyone else; otherwise, it will just cause fragmentation in
> the project. It's something easily (I think) achievable outside of the
> standard build process, so it's not something super-critical to be
> maintained upstream.
>
> Any thoughts?
>
> - Josh
>