You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@zookeeper.apache.org by Jim Mochel <ji...@gmail.com> on 2011/10/11 16:53:27 UTC

Getting clear on which version of zookeeper to use … and what to deploy for a production environment.

The good news: Zookeeper looks to be a answer to a significant set of design
issues we need to resolve.

The bad news: From where I stand it's unclear which is the real zookeeper
and how it can be effectively deployed in a production environment.

Specifically I have encountered several versions of zookeeper in the maven
repositories:

<dependency org="org.apache.hadoop" name="zookeeper" rev="3.3.1"/>

which apparently includes such dependencies as

checkstyle <http://mvnrepository.com/artifact/checkstyle>checkstyle<http://mvnrepository.com/artifact/checkstyle/checkstyle>
5.0commons-collections<http://mvnrepository.com/artifact/commons-collections>
commons-collections<http://mvnrepository.com/artifact/commons-collections/commons-collections>
3.1commons-lang
<http://mvnrepository.com/artifact/commons-lang>commons-lang<http://mvnrepository.com/artifact/commons-lang/commons-lang>
2.4jdiff <http://mvnrepository.com/artifact/jdiff>jdiff<http://mvnrepository.com/artifact/jdiff/jdiff>
1.0.9jline <http://mvnrepository.com/artifact/jline>jline<http://mvnrepository.com/artifact/jline/jline>
0.9.94junit <http://mvnrepository.com/artifact/junit>junit<http://mvnrepository.com/artifact/junit/junit>
4.8.1log4j <http://mvnrepository.com/artifact/log4j>log4j<http://mvnrepository.com/artifact/log4j/log4j>
1.2.15org.apache.rat <http://mvnrepository.com/artifact/org.apache.rat>
apache-rat-tasks<http://mvnrepository.com/artifact/org.apache.rat/apache-rat-tasks>
0.6xerces <http://mvnrepository.com/artifact/xerces>xerces<http://mvnrepository.com/artifact/xerces/xerces>
1.4.4


<dependency org="org.ow2.jasmine" name="zookeeper" rev="3.3.1"/>

which apparently depends on:


jline <http://mvnrepository.com/artifact/jline>jline<http://mvnrepository.com/artifact/jline/jline>
${jline.version}log4j
<http://mvnrepository.com/artifact/log4j>log4j<http://mvnrepository.com/artifact/log4j/log4j>
${log4j.version}org.apache.hadoop<http://mvnrepository.com/artifact/org.apache.hadoop>
zookeeper <http://mvnrepository.com/artifact/org.apache.hadoop/zookeeper>
${zookeeper.version}org.ow2.jonas<http://mvnrepository.com/artifact/org.ow2.jonas>
jonas-commons<http://mvnrepository.com/artifact/org.ow2.jonas/jonas-commons>
${jonas5.version}

<dependency org="org.apache" name="zookeeper" rev="3.3.1"/>

which depends on:

checkstyle <http://mvnrepository.com/artifact/checkstyle>checkstyle<http://mvnrepository.com/artifact/checkstyle/checkstyle>
5.0commons-collections<http://mvnrepository.com/artifact/commons-collections>
commons-collections<http://mvnrepository.com/artifact/commons-collections/commons-collections>
3.1commons-lang
<http://mvnrepository.com/artifact/commons-lang>commons-lang<http://mvnrepository.com/artifact/commons-lang/commons-lang>
2.4jdiff <http://mvnrepository.com/artifact/jdiff>jdiff<http://mvnrepository.com/artifact/jdiff/jdiff>
1.0.9jline <http://mvnrepository.com/artifact/jline>jline<http://mvnrepository.com/artifact/jline/jline>
0.9.94junit <http://mvnrepository.com/artifact/junit>junit<http://mvnrepository.com/artifact/junit/junit>
4.8.1log4j <http://mvnrepository.com/artifact/log4j>log4j<http://mvnrepository.com/artifact/log4j/log4j>
1.2.15org.apache.rat <http://mvnrepository.com/artifact/org.apache.rat>
apache-rat-tasks<http://mvnrepository.com/artifact/org.apache.rat/apache-rat-tasks>
0.6xerces <http://mvnrepository.com/artifact/xerces>xerces<http://mvnrepository.com/artifact/xerces/xerces>
1.4.4

and finally,

<dependency org="org.apache.zookeeper" name="zookeeper" rev="3.3.1"/>

which depends on

checkstyle <http://mvnrepository.com/artifact/checkstyle>checkstyle<http://mvnrepository.com/artifact/checkstyle/checkstyle>
5.0commons-collections<http://mvnrepository.com/artifact/commons-collections>
commons-collections<http://mvnrepository.com/artifact/commons-collections/commons-collections>
3.1commons-lang
<http://mvnrepository.com/artifact/commons-lang>commons-lang<http://mvnrepository.com/artifact/commons-lang/commons-lang>
2.4jdiff <http://mvnrepository.com/artifact/jdiff>jdiff<http://mvnrepository.com/artifact/jdiff/jdiff>
1.0.9jline <http://mvnrepository.com/artifact/jline>jline<http://mvnrepository.com/artifact/jline/jline>
0.9.94junit <http://mvnrepository.com/artifact/junit>junit<http://mvnrepository.com/artifact/junit/junit>
4.8.1log4j <http://mvnrepository.com/artifact/log4j>log4j<http://mvnrepository.com/artifact/log4j/log4j>
1.2.15org.apache.rat <http://mvnrepository.com/artifact/org.apache.rat>
apache-rat-tasks<http://mvnrepository.com/artifact/org.apache.rat/apache-rat-tasks>
0.6xerces <http://mvnrepository.com/artifact/xerces>xerces<http://mvnrepository.com/artifact/xerces/xerces>
1.4.4

Since currently in the repository the last entry appears to be the one
that is maintained (in other words I can see versions greater than
3.3.1)  I would go with that.  I am a little uneasy since I keep
seeing references that Yahoo and some other companies are using their
own patched versions of it but I can go with that. Of course I'm
wondering why checkstyle and jdiff appears to be needed at runtime.
all of the above dependencies appear to be in the "master"
configuration.

When I put this dependency into my project I encounter an issue with a
transitive dependency that brings in jmxtools and some other com.sun
namespace jars. My searches only reveal that these dependencies are
considered optional but it's unclear when they are needed and unneeded.

Can anyone tell me:

1. What is the most stable and definitive zookeeper implementation?
2. What is JMX is used for within zookeeper ?
3. What is and isn't required for the use of the client library?


I am looking forward to being able to use this quickly and cleanly…

Thank you,

-Jim Mochel

Re: Getting clear on which version of zookeeper to use … and what to deploy for a production environment.

Posted by Ted Dunning <te...@gmail.com>.
Interesting.

I did this in a maven pom just now:

   <dependency>
      <groupId>org.apache.zookeeper</groupId>
      <artifactId>zookeeper</artifactId>
      <version>3.3.3</version>
    </dependency>

Everything seems to have resolved just fine.

On Tue, Oct 11, 2011 at 6:11 PM, Jim Mochel <ji...@gmail.com>wrote:

> Patrick,
>
> Thank you for your clear and cogent answer.
>
> For those who bump into this in the future the IVY entry would look like
> this:
>
>            <dependency org="org.apache.zookeeper" name="zookeeper"
> rev="3.3.3" conf="core->master"/>
>
> "core" is one of our internal configurations that in this case of maps to
> the "master" configuration. If you go with the typical "core->default" you
> will end up with the kitchen sink including JMX jars that do not resolve
> cleanly without adding those artifacts to the maven repository.
>
> -Jim
>
> On Tue, Oct 11, 2011 at 12:25 PM, Patrick Hunt <ph...@apache.org> wrote:
>
> > On Tue, Oct 11, 2011 at 7:53 AM, Jim Mochel <ji...@gmail.com>
> > wrote:
> > > The good news: Zookeeper looks to be a answer to a significant set of
> > design
> > > issues we need to resolve.
> > >
> > > The bad news: From where I stand it's unclear which is the real
> zookeeper
> > > and how it can be effectively deployed in a production environment.
> >
> > See our download page for the most recent version (3.3.3):
> > http://zookeeper.apache.org/releases.html#download
> >
> > There's also the news section for history on releases:
> > http://zookeeper.apache.org/releases.html#news
> >
> > >
> > > Specifically I have encountered several versions of zookeeper in the
> > maven
> > > repositories:
> >
> > <snip>
> >
> > ZK recently moved to TLP as such the location of the mvn repo changed,
> > you can find 3.3.2/3.3.3 here:
> >
> >
> http://people.apache.org/repo/m2-ibiblio-rsync-repository/org/apache/zookeeper/zookeeper/
> >
> > Details in the README if you d/l 3.3.3, also available from the source
> > tree:
> >
> >
> http://svn.apache.org/viewvc/zookeeper/branches/branch-3.3/README.txt?revision=1038823&view=markup
> >
> > > Can anyone tell me:
> > >
> > > 1. What is the most stable and definitive zookeeper implementation?
> >
> > 3.3.3 currently
> >
> > > 2. What is JMX is used for within zookeeper ?
> >
> > Monitoring.
> >
> > > 3. What is and isn't required for the use of the client library?
> >
> > Just log4j  (take a look at ivy.xml).
> >
> > Regards,
> >
> > Patrick
> >
>

Re: Getting clear on which version of zookeeper to use … and what to deploy for a production environment.

Posted by Jim Mochel <ji...@gmail.com>.
Patrick,

Thank you for your clear and cogent answer.

For those who bump into this in the future the IVY entry would look like
this:

            <dependency org="org.apache.zookeeper" name="zookeeper"
rev="3.3.3" conf="core->master"/>

"core" is one of our internal configurations that in this case of maps to
the "master" configuration. If you go with the typical "core->default" you
will end up with the kitchen sink including JMX jars that do not resolve
cleanly without adding those artifacts to the maven repository.

-Jim

On Tue, Oct 11, 2011 at 12:25 PM, Patrick Hunt <ph...@apache.org> wrote:

> On Tue, Oct 11, 2011 at 7:53 AM, Jim Mochel <ji...@gmail.com>
> wrote:
> > The good news: Zookeeper looks to be a answer to a significant set of
> design
> > issues we need to resolve.
> >
> > The bad news: From where I stand it's unclear which is the real zookeeper
> > and how it can be effectively deployed in a production environment.
>
> See our download page for the most recent version (3.3.3):
> http://zookeeper.apache.org/releases.html#download
>
> There's also the news section for history on releases:
> http://zookeeper.apache.org/releases.html#news
>
> >
> > Specifically I have encountered several versions of zookeeper in the
> maven
> > repositories:
>
> <snip>
>
> ZK recently moved to TLP as such the location of the mvn repo changed,
> you can find 3.3.2/3.3.3 here:
>
> http://people.apache.org/repo/m2-ibiblio-rsync-repository/org/apache/zookeeper/zookeeper/
>
> Details in the README if you d/l 3.3.3, also available from the source
> tree:
>
> http://svn.apache.org/viewvc/zookeeper/branches/branch-3.3/README.txt?revision=1038823&view=markup
>
> > Can anyone tell me:
> >
> > 1. What is the most stable and definitive zookeeper implementation?
>
> 3.3.3 currently
>
> > 2. What is JMX is used for within zookeeper ?
>
> Monitoring.
>
> > 3. What is and isn't required for the use of the client library?
>
> Just log4j  (take a look at ivy.xml).
>
> Regards,
>
> Patrick
>

Re: Getting clear on which version of zookeeper to use … and what to deploy for a production environment.

Posted by Patrick Hunt <ph...@apache.org>.
On Tue, Oct 11, 2011 at 7:53 AM, Jim Mochel <ji...@gmail.com> wrote:
> The good news: Zookeeper looks to be a answer to a significant set of design
> issues we need to resolve.
>
> The bad news: From where I stand it's unclear which is the real zookeeper
> and how it can be effectively deployed in a production environment.

See our download page for the most recent version (3.3.3):
http://zookeeper.apache.org/releases.html#download

There's also the news section for history on releases:
http://zookeeper.apache.org/releases.html#news

>
> Specifically I have encountered several versions of zookeeper in the maven
> repositories:

<snip>

ZK recently moved to TLP as such the location of the mvn repo changed,
you can find 3.3.2/3.3.3 here:
http://people.apache.org/repo/m2-ibiblio-rsync-repository/org/apache/zookeeper/zookeeper/

Details in the README if you d/l 3.3.3, also available from the source tree:
http://svn.apache.org/viewvc/zookeeper/branches/branch-3.3/README.txt?revision=1038823&view=markup

> Can anyone tell me:
>
> 1. What is the most stable and definitive zookeeper implementation?

3.3.3 currently

> 2. What is JMX is used for within zookeeper ?

Monitoring.

> 3. What is and isn't required for the use of the client library?

Just log4j  (take a look at ivy.xml).

Regards,

Patrick