You can subscribe to this list here.
2007 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(1) |
Dec
(26) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2008 |
Jan
(5) |
Feb
(1) |
Mar
|
Apr
(71) |
May
(22) |
Jun
(47) |
Jul
(32) |
Aug
(18) |
Sep
(9) |
Oct
(4) |
Nov
|
Dec
|
2009 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(3) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: Stefan G. <sg...@10...> - 2008-04-24 23:30:45
|
Hi Ted, I like this idea a lot, though I noticed you get a notification on the parent folder. For example adding a node "/slaves/server1" triggers a notification "/ slaves". What basically means my master need to know the children of "/slaves" from before to identify the new node in the "/slaves" path. What means the master has a kind of state. Or is there anything I miss? Thanks Stefan On Apr 22, 2008, at 3:28 PM, Ted Dunning wrote: > > > I think I would use a redundant representation where there is > > * a directory with ephemeral files, one per slave > > * one directory per slave containing references to the shards it > should > serve > > * one directory per shard with ephemeral files per slave serving the > shard > > Suppose the whole system is rooted at /katta, these directories > would be > /katta/slaves, /katta/shard-assignments, /katta/shard-servers. The > purpose > of /katta/slaves is to allow a quick inventory of all live servers > and to > have a single location where notifications of slave death or birth > can be > done. The purpose of /katta/shard-assignments is to allow the > shards to > each have a directory on which they can listen for new shards or old > shards > that are being taken away. The purpose of /katta/shard-servers is > so that > it is easy to find under-served shards whenever a slave goes down or > comes > up. I think that this structure is such that no locks need ever be > used to > ensure consistency. > > One implementation that I have had pretty good luck with is to build a > stateless rest layer that does complex manipulations on a zookeeper > storage > layer. This lets me think in terms of large scale operations (get a > batch > of work) and inherently allows easy access from a variety of different > languages. Since the rest layer is stateless, it can be scaled > effortlessly. > > > > On 4/22/08 3:15 PM, "Stefan Groschupf" <sg...@10...> wrote: > >> As mention we plan to build a distributed lucene serving grid system. >> One virtual index composed out of many lucene indexes (shards). >> Each slave should server a set of shards. The master need to assign >> shards to a slave if it becomes available or a new index is deployed. >> A slave need to get notifications if a new shard is assigned to it. >> The master need to get notifications in case a slave dies or for some >> reason can not serve a shard. >> The master also need to know some all shards a slave serves. >> How you would recommend to structure those information? >> Use one file per slave that is updated by master and slave and >> contains all shards meta data. >> Or one folder per node and each shard is one file? >> Or...? >> >> Thanks a lot! >> Stefan >> >> >> >> In our case we want to manage shards assign >> On Apr 22, 2008, at 2:55 PM, Mahadev Konar wrote: >>> Thanks Ted for your reasons listed. I would just like to clarify >>> that >>> the 1MB limit is the limit per node. Zookeeper keeps its datatree in >>> memory. So theretically you are just limited by the amount of memory >>> you >>> have on machines you are running zookeeper on. Most of our users use >>> Zookeeper for failure detection of slave nodes, master discovery and >>> also for assigning workloads among nodes. They haven't had any >>> memory >>> issues. >>> >>> Regards >>> Mahadev >>> >>>> -----Original Message----- >>>> From: zoo...@li... >>> [mailto:zookeeper-user- >>>> bo...@li...] On Behalf Of Ted Dunning >>>> Sent: Tuesday, April 22, 2008 2:47 PM >>>> To: Stefan Groschupf; zoo...@li... >>>> Subject: Re: [Zookeeper-user] zookeeper vs. heartbeat messages >>>> >>>> >>>> I would definitely recommend zookeeper over heartbeat. Here are my >>>> reasons: >>>> >>>> A) it works. Anything you implement using heartbeats will not work >>>> initially and you will (should) always worry about that >>>> implementation >>>> because it won't get as much testing. >>>> >>>> B) it works. The use of ephemeral files is much easier than >>>> doing a >>> good >>>> heartbeat API. In particular, heartbeat always implies some sort >>>> of >>>> fail-over which is trivial to implement well in zookeeper and very >>> hard to >>>> implement (correctly) by hand. >>>> >>>> C) it works. Heartbeat architectures often lead logically to a >>> spiraling >>>> number of heartbeats being exchanged. With zookeeper, your server >>> will be >>>> talking to zookeeper, and everybody else will have low latency >>>> updates >>> in >>>> case of a problem (if they want). >>>> >>>> >>>> Regarding the amount of data, I doubt you will have a problem if >>>> you >>> keep >>>> your zookeeper files reasonably sized. There is an imposed limit >>>> of >>> 1MB, >>>> but would you be going anywhere near that? >>>> >>>> On 4/22/08 2:31 PM, "Stefan Groschupf" <sg...@10...> wrote: >>>> >>>>> Hi >>>>> I'm new to zookeeper and I work on a system that require classical >>>>> master - slave communication similar to hadoop dfs or hbase. >>>>> Though in my case the master need to know much faster if a slave >>>>> crashes than in other cases. >>>>> So I wonder if it would make sense instead of using classical >>>>> heartbeat messages in can use zookeeper. >>>>> Basically the master need to know if a new slave becomes available >>> and >>>>> what kind of data it servers. >>>>> >>>>> Is there any limitations where the amount of data stored within >>>>> zookeeper becomes an issue? >>>>> Would you recommend to use zookeeper over heartbeat messages? >>>>> >>>>> Thanks for any hints. >>>>> Stefan >>>>> >>>>> >>>>> >>> ------------------------------------------------------------------------ >>>> - >>>>> This SF.net email is sponsored by the 2008 JavaOne(SM) Conference >>>>> Don't miss this year's exciting event. There's still time to save >>> $100. >>>>> Use priority code J8TL2D2. >>>>> >>>> >>> http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/j >>> av >>>> aone >>>>> _______________________________________________ >>>>> Zookeeper-user mailing list >>>>> Zoo...@li... >>>>> https://lists.sourceforge.net/lists/listinfo/zookeeper-user >>>> >>>> >>>> >>> ------------------------------------------------------------------------ >>> - >>>> This SF.net email is sponsored by the 2008 JavaOne(SM) Conference >>>> Don't miss this year's exciting event. There's still time to save >>> $100. >>>> Use priority code J8TL2D2. >>>> >>> http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/j >>> av >>>> aone >>>> _______________________________________________ >>>> Zookeeper-user mailing list >>>> Zoo...@li... >>>> https://lists.sourceforge.net/lists/listinfo/zookeeper-user >>> >> >> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ >> 101tec Inc. >> Menlo Park, California, USA >> http://www.101tec.com >> >> >> >> ------------------------------------------------------------------------- >> This SF.net email is sponsored by the 2008 JavaOne(SM) Conference >> Don't miss this year's exciting event. There's still time to save >> $100. >> Use priority code J8TL2D2. >> http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone >> _______________________________________________ >> Zookeeper-user mailing list >> Zoo...@li... >> https://lists.sourceforge.net/lists/listinfo/zookeeper-user > > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 101tec Inc. Menlo Park, California, USA http://www.101tec.com |
From: Stefan G. <sg...@10...> - 2008-04-24 22:14:18
|
Hi, I'm running into a strange NPE. I basically have a watch object public void process(WatcherEvent event) { System.out.println("watch: " + event); } Starting up some of my tests show following stack in my logs: java.lang.NullPointerException at com.yahoo.jute.Utils.toCSVString(Utils.java:128) at com.yahoo.jute.CsvOutputArchive.writeString(CsvOutputArchive.java: 95) at com.yahoo.zookeeper.proto.WatcherEvent.toString(WatcherEvent.java: 60) at java.lang.String.valueOf(String.java:2615) at java.lang.StringBuilder.append(StringBuilder.java:116) at net.sf.katta.ZKClient.process(ZKClient.java:41) at com.yahoo.zookeeper.ClientCnxn$EventThread.run(ClientCnxn.java:253) Is that a known problem, I couldn't found a bug report? Thanks. Stefan ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 101tec Inc. Menlo Park, California, USA http://www.101tec.com |
From: Stefan G. <sg...@10...> - 2008-04-24 18:46:24
|
Ah, I see. Ok I create a first version of a patch that removes all System.exists in non main methods or there stacks. http://sourceforge.net/tracker/index.php?func=detail&aid=1951065&group_id=209147&atid=1008546 I would be very happy to get feedback and hope there is a chance to get this into the next release. Thank you guys very much for the good work on zookeeper, it is fun to use and a great tool! Stefan On Apr 24, 2008, at 11:17 AM, Benjamin Reed wrote: > You don't need to worry about Rcc. That utility is only used at > build time. > > ben > > On Thursday 24 April 2008 11:04:43 Stefan Groschupf wrote: >> Hi, >> I working on a patch to remove all System.exists. >> I noticed that Rcc.java is checked in but actually is generated by >> JavaCC. >> I tried to remove Rcc.java but it was not regenerated when I did run >> ant. >> >> How this is suposed to work? >> Shouldn't that be generated into java/generated as well and created >> during the build? >> >> So what would be the best way for now to get a fix into Rcc.java >> since >> the code changes need to be done in rcc.jj >> Thanks. >> Stefan >> >> >> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ >> 101tec Inc. >> Menlo Park, California, USA >> http://www.101tec.com >> >> >> >> ------------------------------------------------------------------------- >> This SF.net email is sponsored by the 2008 JavaOne(SM) Conference >> Don't miss this year's exciting event. There's still time to save >> $100. >> Use priority code J8TL2D2. >> http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/java >> one _______________________________________________ >> Zookeeper-user mailing list >> Zoo...@li... >> https://lists.sourceforge.net/lists/listinfo/zookeeper-user > > > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 101tec Inc. Menlo Park, California, USA http://www.101tec.com |
From: Benjamin R. <br...@ya...> - 2008-04-24 18:17:40
|
You don't need to worry about Rcc. That utility is only used at build time. ben On Thursday 24 April 2008 11:04:43 Stefan Groschupf wrote: > Hi, > I working on a patch to remove all System.exists. > I noticed that Rcc.java is checked in but actually is generated by > JavaCC. > I tried to remove Rcc.java but it was not regenerated when I did run > ant. > > How this is suposed to work? > Shouldn't that be generated into java/generated as well and created > during the build? > > So what would be the best way for now to get a fix into Rcc.java since > the code changes need to be done in rcc.jj > Thanks. > Stefan > > > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > 101tec Inc. > Menlo Park, California, USA > http://www.101tec.com > > > > ------------------------------------------------------------------------- > This SF.net email is sponsored by the 2008 JavaOne(SM) Conference > Don't miss this year's exciting event. There's still time to save $100. > Use priority code J8TL2D2. > http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/java >one _______________________________________________ > Zookeeper-user mailing list > Zoo...@li... > https://lists.sourceforge.net/lists/listinfo/zookeeper-user |
From: Stefan G. <sg...@10...> - 2008-04-24 18:04:52
|
Hi, I working on a patch to remove all System.exists. I noticed that Rcc.java is checked in but actually is generated by JavaCC. I tried to remove Rcc.java but it was not regenerated when I did run ant. How this is suposed to work? Shouldn't that be generated into java/generated as well and created during the build? So what would be the best way for now to get a fix into Rcc.java since the code changes need to be done in rcc.jj Thanks. Stefan ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 101tec Inc. Menlo Park, California, USA http://www.101tec.com |
From: Stefan G. <sg...@10...> - 2008-04-24 06:20:45
|
> One gotcha is that there are some fatal errors that cause > System.exit(). If we want to support this mode of use, we probably > need to make some changes so that it will work better. Ohh, good to know. Any chance a patch solving this would make it into the next soon coming release? Stefan |
From: Benjamin R. <br...@ya...> - 2008-04-24 03:19:38
|
If you are running with just one server, you should be using ZooKeeperServer rather than QuorumPeer. Instantiating things directly should work as long as you use ZooKeeperServer for standalone and QuorumPeer for multiple servers. One gotcha is that there are some fatal errors that cause System.exit(). If we want to support this mode of use, we probably need to make some changes so that it will work better. ben ----- Original Message ---- From: Stefan Groschupf <sg...@10...> To: zoo...@li... Sent: Wednesday, April 23, 2008 3:26:19 PM Subject: [Zookeeper-user] ArithmeticException: / by zero Hi, as discussed yesterday I started the zk server in my code. But I guess I doing something wrong here, since I get this exception. Anyone an idea what I might do wrong? Thanks. Stefan 4/23/08 3:20:34 PM PDT [QuorumPeer.java@284][0]: LOOKING 4/23/08 3:20:34 PM PDT [LeaderElection.java@111][0]: Election tally: 4/23/08 3:20:34 PM PDT [LeaderElection.java@117][0]: 0 -> 1 4/23/08 3:20:34 PM PDT [QuorumPeer.java@309][0]: LEADING 4/23/08 3:20:34 PM PDT [ZooKeeperServer.java@271][0]: Processing snapshot: ./zookepper-data/snapshot.0 4/23/08 3:20:34 PM PDT [QuorumPeer.java@315][0]: : java.lang.ArithmeticException: / by zero at com .yahoo .zookeeper .server .quorum .LeaderZooKeeperServer .getGlobalOutstandingLimit(LeaderZooKeeperServer.java:66) at com.yahoo.zookeeper.server.NIOServerCnxn $Factory.setZooKeeperServer(NIOServerCnxn.java:118) at com.yahoo.zookeeper.server.quorum.Leader.lead(Leader.java:248) at com.yahoo.zookeeper.server.quorum.QuorumPeer.run(QuorumPeer.java: 312) 4/23/08 3:20:34 PM PDT [Leader.java@297][0]: : java.lang.Exception: shutdown Leader! reason: Forcing shutdown at com.yahoo.zookeeper.server.quorum.Leader.shutdown(Leader.java:297) at com.yahoo.zookeeper.server.quorum.QuorumPeer.run(QuorumPeer.java: 318) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 101tec Inc. Menlo Park, California, USA http://www.101tec.com ------------------------------------------------------------------------- This SF.net email is sponsored by the 2008 JavaOne(SM) Conference Don't miss this year's exciting event. There's still time to save $100. Use priority code J8TL2D2. http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone _______________________________________________ Zookeeper-user mailing list Zoo...@li... https://lists.sourceforge.net/lists/listinfo/zookeeper-user |
From: Andrew K. <ak...@ya...> - 2008-04-23 23:49:37
|
Stefan, It is fixed in SVN. We'll be releasing a new server package soon (this week I hope). Thanks, Andrew > -----Original Message----- > From: zoo...@li... [mailto:zookeeper-user- > bo...@li...] On Behalf Of Stefan Groschupf > Sent: Wednesday, April 23, 2008 4:34 PM > To: zoo...@li... > Subject: [Zookeeper-user] zk.getState() Zookeeper.States not visible. > > Hi, > I would be kind of nice to check the state of a zookeeper. > There is a method zk.getState(), though the States enum in ZooKeeper > is not public but default visible. > This makes an > zk.getState().isAlive() call impossible from a different package. > Just curious is there any reason for that? Any other good way to test > if zookeeper is in a healthy state? (Server and client connected). > I basically want to add this to my unit tests. > > Thanks. > Stefan > > > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > 101tec Inc. > Menlo Park, California, USA > http://www.101tec.com > > > > ------------------------------------------------------------------------- > This SF.net email is sponsored by the 2008 JavaOne(SM) Conference > Don't miss this year's exciting event. There's still time to save $100. > Use priority code J8TL2D2. > http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/jav > aone > _______________________________________________ > Zookeeper-user mailing list > Zoo...@li... > https://lists.sourceforge.net/lists/listinfo/zookeeper-user |
From: Stefan G. <sg...@10...> - 2008-04-23 23:33:40
|
Hi, I would be kind of nice to check the state of a zookeeper. There is a method zk.getState(), though the States enum in ZooKeeper is not public but default visible. This makes an zk.getState().isAlive() call impossible from a different package. Just curious is there any reason for that? Any other good way to test if zookeeper is in a healthy state? (Server and client connected). I basically want to add this to my unit tests. Thanks. Stefan ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 101tec Inc. Menlo Park, California, USA http://www.101tec.com |
From: Mahadev K. <ma...@ya...> - 2008-04-23 22:32:51
|
This is happening because somehow you created a quorum of just one server. Are you creating quorumserver using java zookeeper.jar or are you using the api to create a quorumserver? Regards Mahadev > -----Original Message----- > From: zoo...@li... [mailto:zookeeper-user- > bo...@li...] On Behalf Of Stefan Groschupf > Sent: Wednesday, April 23, 2008 3:26 PM > To: zoo...@li... > Subject: [Zookeeper-user] ArithmeticException: / by zero > > Hi, > as discussed yesterday I started the zk server in my code. > But I guess I doing something wrong here, since I get this exception. > > Anyone an idea what I might do wrong? > Thanks. > Stefan > > > > 4/23/08 3:20:34 PM PDT [QuorumPeer.java@284][0]: LOOKING > 4/23/08 3:20:34 PM PDT [LeaderElection.java@111][0]: Election tally: > 4/23/08 3:20:34 PM PDT [LeaderElection.java@117][0]: 0 -> 1 > 4/23/08 3:20:34 PM PDT [QuorumPeer.java@309][0]: LEADING > 4/23/08 3:20:34 PM PDT [ZooKeeperServer.java@271][0]: Processing > snapshot: ./zookepper-data/snapshot.0 > 4/23/08 3:20:34 PM PDT [QuorumPeer.java@315][0]: : > java.lang.ArithmeticException: / by zero > at > com > .yahoo > .zookeeper > .server > .quorum > .LeaderZooKeeperServer > .getGlobalOutstandingLimit(LeaderZooKeeperServer.java:66) > at com.yahoo.zookeeper.server.NIOServerCnxn > $Factory.setZooKeeperServer(NIOServerCnxn.java:118) > at com.yahoo.zookeeper.server.quorum.Leader.lead(Leader.java:248) > at com.yahoo.zookeeper.server.quorum.QuorumPeer.run(QuorumPeer.java: > 312) > > 4/23/08 3:20:34 PM PDT [Leader.java@297][0]: : java.lang.Exception: > shutdown Leader! reason: Forcing shutdown > at > com.yahoo.zookeeper.server.quorum.Leader.shutdown(Leader.java:297) > at com.yahoo.zookeeper.server.quorum.QuorumPeer.run(QuorumPeer.java: > 318) > > > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > 101tec Inc. > Menlo Park, California, USA > http://www.101tec.com > > > > ------------------------------------------------------------------------ - > This SF.net email is sponsored by the 2008 JavaOne(SM) Conference > Don't miss this year's exciting event. There's still time to save $100. > Use priority code J8TL2D2. > http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/j av > aone > _______________________________________________ > Zookeeper-user mailing list > Zoo...@li... > https://lists.sourceforge.net/lists/listinfo/zookeeper-user |
From: Stefan G. <sg...@10...> - 2008-04-23 22:26:33
|
Hi, as discussed yesterday I started the zk server in my code. But I guess I doing something wrong here, since I get this exception. Anyone an idea what I might do wrong? Thanks. Stefan 4/23/08 3:20:34 PM PDT [QuorumPeer.java@284][0]: LOOKING 4/23/08 3:20:34 PM PDT [LeaderElection.java@111][0]: Election tally: 4/23/08 3:20:34 PM PDT [LeaderElection.java@117][0]: 0 -> 1 4/23/08 3:20:34 PM PDT [QuorumPeer.java@309][0]: LEADING 4/23/08 3:20:34 PM PDT [ZooKeeperServer.java@271][0]: Processing snapshot: ./zookepper-data/snapshot.0 4/23/08 3:20:34 PM PDT [QuorumPeer.java@315][0]: : java.lang.ArithmeticException: / by zero at com .yahoo .zookeeper .server .quorum .LeaderZooKeeperServer .getGlobalOutstandingLimit(LeaderZooKeeperServer.java:66) at com.yahoo.zookeeper.server.NIOServerCnxn $Factory.setZooKeeperServer(NIOServerCnxn.java:118) at com.yahoo.zookeeper.server.quorum.Leader.lead(Leader.java:248) at com.yahoo.zookeeper.server.quorum.QuorumPeer.run(QuorumPeer.java: 312) 4/23/08 3:20:34 PM PDT [Leader.java@297][0]: : java.lang.Exception: shutdown Leader! reason: Forcing shutdown at com.yahoo.zookeeper.server.quorum.Leader.shutdown(Leader.java:297) at com.yahoo.zookeeper.server.quorum.QuorumPeer.run(QuorumPeer.java: 318) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 101tec Inc. Menlo Park, California, USA http://www.101tec.com |
From: Mahadev K. <ma...@ya...> - 2008-04-23 01:48:29
|
Ted is right. The address can be a comma separated list of host:port. Regards Mahadev > -----Original Message----- > From: zoo...@li... [mailto:zookeeper-user- > bo...@li...] On Behalf Of Ted Dunning > Sent: Tuesday, April 22, 2008 5:27 PM > To: Stefan Groschupf; zoo...@li... > Subject: Re: [Zookeeper-user] which zookeeper server should be used? > > > That is how you open a client connection. > > The server you start with a command line such as: > > java -jar zookeeper-0.1.jar zoo.cfg > > The contents of zoo.cfg describe your server cluster configuration and is > documented on the wiki. For my dev environment, I literally have a 3 line > configuration. > > I believe the address part of the Zookeeper call should be a comma > separated > list of servers. The client library will handle the decision about which > server to use. Again, this is described on the wiki. > > > On 4/22/08 5:19 PM, "Stefan Groschupf" <sg...@10...> wrote: > > > Hi, > > thanks again helping getting me started so super fast. > > Just another question: > > The doc shows to start a a zk like this: > > zk = new ZooKeeper(address, 3000, this); > > > > In case I have a couple zookeeper servers which address I should I use? > > Try all until I found a working one? > > Does this matter? Should all slaves use the same one, round robbing > > pick one? > > > > Thanks. > > Stefan > > > > > > > > ------------------------------------------------------------------------ > - > > This SF.net email is sponsored by the 2008 JavaOne(SM) Conference > > Don't miss this year's exciting event. There's still time to save $100. > > Use priority code J8TL2D2. > > > http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/j av > aone > > _______________________________________________ > > Zookeeper-user mailing list > > Zoo...@li... > > https://lists.sourceforge.net/lists/listinfo/zookeeper-user > > > ------------------------------------------------------------------------ - > This SF.net email is sponsored by the 2008 JavaOne(SM) Conference > Don't miss this year's exciting event. There's still time to save $100. > Use priority code J8TL2D2. > http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/j av > aone > _______________________________________________ > Zookeeper-user mailing list > Zoo...@li... > https://lists.sourceforge.net/lists/listinfo/zookeeper-user |
From: Ted D. <tdu...@ve...> - 2008-04-23 00:27:40
|
That is how you open a client connection. The server you start with a command line such as: java -jar zookeeper-0.1.jar zoo.cfg The contents of zoo.cfg describe your server cluster configuration and is documented on the wiki. For my dev environment, I literally have a 3 line configuration. I believe the address part of the Zookeeper call should be a comma separated list of servers. The client library will handle the decision about which server to use. Again, this is described on the wiki. On 4/22/08 5:19 PM, "Stefan Groschupf" <sg...@10...> wrote: > Hi, > thanks again helping getting me started so super fast. > Just another question: > The doc shows to start a a zk like this: > zk = new ZooKeeper(address, 3000, this); > > In case I have a couple zookeeper servers which address I should I use? > Try all until I found a working one? > Does this matter? Should all slaves use the same one, round robbing > pick one? > > Thanks. > Stefan > > > > ------------------------------------------------------------------------- > This SF.net email is sponsored by the 2008 JavaOne(SM) Conference > Don't miss this year's exciting event. There's still time to save $100. > Use priority code J8TL2D2. > http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone > _______________________________________________ > Zookeeper-user mailing list > Zoo...@li... > https://lists.sourceforge.net/lists/listinfo/zookeeper-user |
From: Stefan G. <sg...@10...> - 2008-04-23 00:19:47
|
Hi, thanks again helping getting me started so super fast. Just another question: The doc shows to start a a zk like this: zk = new ZooKeeper(address, 3000, this); In case I have a couple zookeeper servers which address I should I use? Try all until I found a working one? Does this matter? Should all slaves use the same one, round robbing pick one? Thanks. Stefan |
From: Stefan G. <sg...@10...> - 2008-04-22 23:19:40
|
No - I did not heard about it. Interesting all the right people work on it already. :) On Apr 22, 2008, at 4:04 PM, Patrick Hunt wrote: > Hi Stefan, have you looked at the "bailey" project on sourceforge? > Sounds very similar (they are also considering using ZooKeeper). > > https://sourceforge.net/projects/bailey > > Regards, > > Patrick > > Stefan Groschupf wrote: >> As mention we plan to build a distributed lucene serving grid >> system. One virtual index composed out of many lucene indexes >> (shards). >> Each slave should server a set of shards. The master need to >> assign shards to a slave if it becomes available or a new index is >> deployed. >> A slave need to get notifications if a new shard is assigned to >> it. The master need to get notifications in case a slave dies or >> for some reason can not serve a shard. >> The master also need to know some all shards a slave serves. >> How you would recommend to structure those information? >> Use one file per slave that is updated by master and slave and >> contains all shards meta data. >> Or one folder per node and each shard is one file? >> Or...? >> Thanks a lot! >> Stefan >> In our case we want to manage shards assign >> On Apr 22, 2008, at 2:55 PM, Mahadev Konar wrote: >>> Thanks Ted for your reasons listed. I would just like to clarify >>> that >>> the 1MB limit is the limit per node. Zookeeper keeps its datatree in >>> memory. So theretically you are just limited by the amount of >>> memory you >>> have on machines you are running zookeeper on. Most of our users use >>> Zookeeper for failure detection of slave nodes, master discovery and >>> also for assigning workloads among nodes. They haven't had any >>> memory >>> issues. >>> >>> Regards >>> Mahadev >>> >>>> -----Original Message----- >>>> From: zoo...@li... >>> [mailto:zookeeper-user- >>>> bo...@li...] On Behalf Of Ted Dunning >>>> Sent: Tuesday, April 22, 2008 2:47 PM >>>> To: Stefan Groschupf; zoo...@li... >>>> Subject: Re: [Zookeeper-user] zookeeper vs. heartbeat messages >>>> >>>> >>>> I would definitely recommend zookeeper over heartbeat. Here are my >>>> reasons: >>>> >>>> A) it works. Anything you implement using heartbeats will not work >>>> initially and you will (should) always worry about that >>>> implementation >>>> because it won't get as much testing. >>>> >>>> B) it works. The use of ephemeral files is much easier than >>>> doing a >>> good >>>> heartbeat API. In particular, heartbeat always implies some sort >>>> of >>>> fail-over which is trivial to implement well in zookeeper and very >>> hard to >>>> implement (correctly) by hand. >>>> >>>> C) it works. Heartbeat architectures often lead logically to a >>> spiraling >>>> number of heartbeats being exchanged. With zookeeper, your server >>> will be >>>> talking to zookeeper, and everybody else will have low latency >>>> updates >>> in >>>> case of a problem (if they want). >>>> >>>> >>>> Regarding the amount of data, I doubt you will have a problem if >>>> you >>> keep >>>> your zookeeper files reasonably sized. There is an imposed limit >>>> of >>> 1MB, >>>> but would you be going anywhere near that? >>>> >>>> On 4/22/08 2:31 PM, "Stefan Groschupf" <sg...@10...> wrote: >>>> >>>>> Hi >>>>> I'm new to zookeeper and I work on a system that require classical >>>>> master - slave communication similar to hadoop dfs or hbase. >>>>> Though in my case the master need to know much faster if a slave >>>>> crashes than in other cases. >>>>> So I wonder if it would make sense instead of using classical >>>>> heartbeat messages in can use zookeeper. >>>>> Basically the master need to know if a new slave becomes available >>> and >>>>> what kind of data it servers. >>>>> >>>>> Is there any limitations where the amount of data stored within >>>>> zookeeper becomes an issue? >>>>> Would you recommend to use zookeeper over heartbeat messages? >>>>> >>>>> Thanks for any hints. >>>>> Stefan >>>>> >>>>> >>>>> >>> ------------------------------------------------------------------------ >>>> - >>>>> This SF.net email is sponsored by the 2008 JavaOne(SM) Conference >>>>> Don't miss this year's exciting event. There's still time to save >>> $100. >>>>> Use priority code J8TL2D2. >>>>> >>> http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/j >>> av >>>> aone >>>>> _______________________________________________ >>>>> Zookeeper-user mailing list >>>>> Zoo...@li... >>>>> https://lists.sourceforge.net/lists/listinfo/zookeeper-user >>>> >>>> >>> ------------------------------------------------------------------------ >>> - >>>> This SF.net email is sponsored by the 2008 JavaOne(SM) Conference >>>> Don't miss this year's exciting event. There's still time to save >>> $100. >>>> Use priority code J8TL2D2. >>>> >>> http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/j >>> av >>>> aone >>>> _______________________________________________ >>>> Zookeeper-user mailing list >>>> Zoo...@li... >>>> https://lists.sourceforge.net/lists/listinfo/zookeeper-user >> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ >> 101tec Inc. >> Menlo Park, California, USA >> http://www.101tec.com >> ------------------------------------------------------------------------- >> This SF.net email is sponsored by the 2008 JavaOne(SM) Conference >> Don't miss this year's exciting event. There's still time to save >> $100. Use priority code J8TL2D2. http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone >> _______________________________________________ >> Zookeeper-user mailing list >> Zoo...@li... >> https://lists.sourceforge.net/lists/listinfo/zookeeper-user > > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 101tec Inc. Menlo Park, California, USA http://www.101tec.com |
From: Mahadev K. <ma...@ya...> - 2008-04-22 23:17:31
|
HI Stefan, Take a look at the tests in zookeeper. They startup Zookeeper Quorum servers all the time. That should be of some help. The test test/com/yahoo/zookeeper/test/QuorumTest.java should be helpful. Regards Mahadev > -----Original Message----- > From: zoo...@li... [mailto:zookeeper-user- > bo...@li...] On Behalf Of Stefan Groschupf > Sent: Tuesday, April 22, 2008 4:11 PM > To: zoo...@li... > Subject: [Zookeeper-user] start zookeeper programtic > > Frist, thank you guys so much for the very helpful and fast help. > > I would love to start zookeeper servers within my code programmatically. > So for example starting a master starts always a zookeeper server as > well. > But I kind of like the idea to manage zookeeper with zookeeper as well. > Means if a slave starts and it can not connect to zookeeper it starts > a zookeeper server. > In case it can connect and it discover only one zookeeper server it > starts a second zookeeper server. > > I looked into QuorumPeer#main but guess simply copy those > functionality will not solve my problem. > Since the configuration is static and do not allow setting of new > QuorumServers. > > Did anyone look into that area already? > > Thanks. > Stefan > > > > > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > 101tec Inc. > Menlo Park, California, USA > http://www.101tec.com > > > > ------------------------------------------------------------------------ - > This SF.net email is sponsored by the 2008 JavaOne(SM) Conference > Don't miss this year's exciting event. There's still time to save $100. > Use priority code J8TL2D2. > http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/j av > aone > _______________________________________________ > Zookeeper-user mailing list > Zoo...@li... > https://lists.sourceforge.net/lists/listinfo/zookeeper-user |
From: Stefan G. <sg...@10...> - 2008-04-22 23:12:31
|
Frist, thank you guys so much for the very helpful and fast help. I would love to start zookeeper servers within my code programmatically. So for example starting a master starts always a zookeeper server as well. But I kind of like the idea to manage zookeeper with zookeeper as well. Means if a slave starts and it can not connect to zookeeper it starts a zookeeper server. In case it can connect and it discover only one zookeeper server it starts a second zookeeper server. I looked into QuorumPeer#main but guess simply copy those functionality will not solve my problem. Since the configuration is static and do not allow setting of new QuorumServers. Did anyone look into that area already? Thanks. Stefan ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 101tec Inc. Menlo Park, California, USA http://www.101tec.com |
From: Patrick H. <ph...@gm...> - 2008-04-22 23:04:44
|
Hi Stefan, have you looked at the "bailey" project on sourceforge? Sounds very similar (they are also considering using ZooKeeper). https://sourceforge.net/projects/bailey Regards, Patrick Stefan Groschupf wrote: > As mention we plan to build a distributed lucene serving grid system. > One virtual index composed out of many lucene indexes (shards). > Each slave should server a set of shards. The master need to assign > shards to a slave if it becomes available or a new index is deployed. > A slave need to get notifications if a new shard is assigned to it. > The master need to get notifications in case a slave dies or for some > reason can not serve a shard. > The master also need to know some all shards a slave serves. > How you would recommend to structure those information? > Use one file per slave that is updated by master and slave and > contains all shards meta data. > Or one folder per node and each shard is one file? > Or...? > > Thanks a lot! > Stefan > > > > In our case we want to manage shards assign > On Apr 22, 2008, at 2:55 PM, Mahadev Konar wrote: >> Thanks Ted for your reasons listed. I would just like to clarify that >> the 1MB limit is the limit per node. Zookeeper keeps its datatree in >> memory. So theretically you are just limited by the amount of memory >> you >> have on machines you are running zookeeper on. Most of our users use >> Zookeeper for failure detection of slave nodes, master discovery and >> also for assigning workloads among nodes. They haven't had any memory >> issues. >> >> Regards >> Mahadev >> >>> -----Original Message----- >>> From: zoo...@li... >> [mailto:zookeeper-user- >>> bo...@li...] On Behalf Of Ted Dunning >>> Sent: Tuesday, April 22, 2008 2:47 PM >>> To: Stefan Groschupf; zoo...@li... >>> Subject: Re: [Zookeeper-user] zookeeper vs. heartbeat messages >>> >>> >>> I would definitely recommend zookeeper over heartbeat. Here are my >>> reasons: >>> >>> A) it works. Anything you implement using heartbeats will not work >>> initially and you will (should) always worry about that >>> implementation >>> because it won't get as much testing. >>> >>> B) it works. The use of ephemeral files is much easier than doing a >> good >>> heartbeat API. In particular, heartbeat always implies some sort of >>> fail-over which is trivial to implement well in zookeeper and very >> hard to >>> implement (correctly) by hand. >>> >>> C) it works. Heartbeat architectures often lead logically to a >> spiraling >>> number of heartbeats being exchanged. With zookeeper, your server >> will be >>> talking to zookeeper, and everybody else will have low latency >>> updates >> in >>> case of a problem (if they want). >>> >>> >>> Regarding the amount of data, I doubt you will have a problem if you >> keep >>> your zookeeper files reasonably sized. There is an imposed limit of >> 1MB, >>> but would you be going anywhere near that? >>> >>> On 4/22/08 2:31 PM, "Stefan Groschupf" <sg...@10...> wrote: >>> >>>> Hi >>>> I'm new to zookeeper and I work on a system that require classical >>>> master - slave communication similar to hadoop dfs or hbase. >>>> Though in my case the master need to know much faster if a slave >>>> crashes than in other cases. >>>> So I wonder if it would make sense instead of using classical >>>> heartbeat messages in can use zookeeper. >>>> Basically the master need to know if a new slave becomes available >> and >>>> what kind of data it servers. >>>> >>>> Is there any limitations where the amount of data stored within >>>> zookeeper becomes an issue? >>>> Would you recommend to use zookeeper over heartbeat messages? >>>> >>>> Thanks for any hints. >>>> Stefan >>>> >>>> >>>> >> ------------------------------------------------------------------------ >>> - >>>> This SF.net email is sponsored by the 2008 JavaOne(SM) Conference >>>> Don't miss this year's exciting event. There's still time to save >> $100. >>>> Use priority code J8TL2D2. >>>> >> http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/j >> av >>> aone >>>> _______________________________________________ >>>> Zookeeper-user mailing list >>>> Zoo...@li... >>>> https://lists.sourceforge.net/lists/listinfo/zookeeper-user >>> >>> >> ------------------------------------------------------------------------ >> - >>> This SF.net email is sponsored by the 2008 JavaOne(SM) Conference >>> Don't miss this year's exciting event. There's still time to save >> $100. >>> Use priority code J8TL2D2. >>> >> http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/j >> av >>> aone >>> _______________________________________________ >>> Zookeeper-user mailing list >>> Zoo...@li... >>> https://lists.sourceforge.net/lists/listinfo/zookeeper-user > > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > 101tec Inc. > Menlo Park, California, USA > http://www.101tec.com > > > > ------------------------------------------------------------------------- > This SF.net email is sponsored by the 2008 JavaOne(SM) Conference > Don't miss this year's exciting event. There's still time to save $100. > Use priority code J8TL2D2. > http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone > _______________________________________________ > Zookeeper-user mailing list > Zoo...@li... > https://lists.sourceforge.net/lists/listinfo/zookeeper-user |
From: Mahadev K. <ma...@ya...> - 2008-04-22 22:30:30
|
I would suggest > Use one file per slave that is updated by master and slave and > contains all shards meta data. Regards Mahadev > -----Original Message----- > From: Stefan Groschupf [mailto:sg...@10...] > Sent: Tuesday, April 22, 2008 3:16 PM > To: zoo...@li...; Mahadev Konar > Subject: Re: [Zookeeper-user] zookeeper vs. heartbeat messages > > As mention we plan to build a distributed lucene serving grid system. > One virtual index composed out of many lucene indexes (shards). > Each slave should server a set of shards. The master need to assign > shards to a slave if it becomes available or a new index is deployed. > A slave need to get notifications if a new shard is assigned to it. > The master need to get notifications in case a slave dies or for some > reason can not serve a shard. > The master also need to know some all shards a slave serves. > How you would recommend to structure those information? > Use one file per slave that is updated by master and slave and > contains all shards meta data. > Or one folder per node and each shard is one file? > Or...? > > Thanks a lot! > Stefan > > > > In our case we want to manage shards assign > On Apr 22, 2008, at 2:55 PM, Mahadev Konar wrote: > > Thanks Ted for your reasons listed. I would just like to clarify that > > the 1MB limit is the limit per node. Zookeeper keeps its datatree in > > memory. So theretically you are just limited by the amount of memory > > you > > have on machines you are running zookeeper on. Most of our users use > > Zookeeper for failure detection of slave nodes, master discovery and > > also for assigning workloads among nodes. They haven't had any memory > > issues. > > > > Regards > > Mahadev > > > >> -----Original Message----- > >> From: zoo...@li... > > [mailto:zookeeper-user- > >> bo...@li...] On Behalf Of Ted Dunning > >> Sent: Tuesday, April 22, 2008 2:47 PM > >> To: Stefan Groschupf; zoo...@li... > >> Subject: Re: [Zookeeper-user] zookeeper vs. heartbeat messages > >> > >> > >> I would definitely recommend zookeeper over heartbeat. Here are my > >> reasons: > >> > >> A) it works. Anything you implement using heartbeats will not work > >> initially and you will (should) always worry about that > >> implementation > >> because it won't get as much testing. > >> > >> B) it works. The use of ephemeral files is much easier than doing a > > good > >> heartbeat API. In particular, heartbeat always implies some sort of > >> fail-over which is trivial to implement well in zookeeper and very > > hard to > >> implement (correctly) by hand. > >> > >> C) it works. Heartbeat architectures often lead logically to a > > spiraling > >> number of heartbeats being exchanged. With zookeeper, your server > > will be > >> talking to zookeeper, and everybody else will have low latency > >> updates > > in > >> case of a problem (if they want). > >> > >> > >> Regarding the amount of data, I doubt you will have a problem if you > > keep > >> your zookeeper files reasonably sized. There is an imposed limit of > > 1MB, > >> but would you be going anywhere near that? > >> > >> On 4/22/08 2:31 PM, "Stefan Groschupf" <sg...@10...> wrote: > >> > >>> Hi > >>> I'm new to zookeeper and I work on a system that require classical > >>> master - slave communication similar to hadoop dfs or hbase. > >>> Though in my case the master need to know much faster if a slave > >>> crashes than in other cases. > >>> So I wonder if it would make sense instead of using classical > >>> heartbeat messages in can use zookeeper. > >>> Basically the master need to know if a new slave becomes available > > and > >>> what kind of data it servers. > >>> > >>> Is there any limitations where the amount of data stored within > >>> zookeeper becomes an issue? > >>> Would you recommend to use zookeeper over heartbeat messages? > >>> > >>> Thanks for any hints. > >>> Stefan > >>> > >>> > >>> > > ------------------------------------------------------------------------ > >> - > >>> This SF.net email is sponsored by the 2008 JavaOne(SM) Conference > >>> Don't miss this year's exciting event. There's still time to save > > $100. > >>> Use priority code J8TL2D2. > >>> > >> > > http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/j > > av > >> aone > >>> _______________________________________________ > >>> Zookeeper-user mailing list > >>> Zoo...@li... > >>> https://lists.sourceforge.net/lists/listinfo/zookeeper-user > >> > >> > >> > > ------------------------------------------------------------------------ > > - > >> This SF.net email is sponsored by the 2008 JavaOne(SM) Conference > >> Don't miss this year's exciting event. There's still time to save > > $100. > >> Use priority code J8TL2D2. > >> > > http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/j > > av > >> aone > >> _______________________________________________ > >> Zookeeper-user mailing list > >> Zoo...@li... > >> https://lists.sourceforge.net/lists/listinfo/zookeeper-user > > > > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > 101tec Inc. > Menlo Park, California, USA > http://www.101tec.com > |
From: Ted D. <tdu...@ve...> - 2008-04-22 22:29:46
|
I think I would use a redundant representation where there is * a directory with ephemeral files, one per slave * one directory per slave containing references to the shards it should serve * one directory per shard with ephemeral files per slave serving the shard Suppose the whole system is rooted at /katta, these directories would be /katta/slaves, /katta/shard-assignments, /katta/shard-servers. The purpose of /katta/slaves is to allow a quick inventory of all live servers and to have a single location where notifications of slave death or birth can be done. The purpose of /katta/shard-assignments is to allow the shards to each have a directory on which they can listen for new shards or old shards that are being taken away. The purpose of /katta/shard-servers is so that it is easy to find under-served shards whenever a slave goes down or comes up. I think that this structure is such that no locks need ever be used to ensure consistency. One implementation that I have had pretty good luck with is to build a stateless rest layer that does complex manipulations on a zookeeper storage layer. This lets me think in terms of large scale operations (get a batch of work) and inherently allows easy access from a variety of different languages. Since the rest layer is stateless, it can be scaled effortlessly. On 4/22/08 3:15 PM, "Stefan Groschupf" <sg...@10...> wrote: > As mention we plan to build a distributed lucene serving grid system. > One virtual index composed out of many lucene indexes (shards). > Each slave should server a set of shards. The master need to assign > shards to a slave if it becomes available or a new index is deployed. > A slave need to get notifications if a new shard is assigned to it. > The master need to get notifications in case a slave dies or for some > reason can not serve a shard. > The master also need to know some all shards a slave serves. > How you would recommend to structure those information? > Use one file per slave that is updated by master and slave and > contains all shards meta data. > Or one folder per node and each shard is one file? > Or...? > > Thanks a lot! > Stefan > > > > In our case we want to manage shards assign > On Apr 22, 2008, at 2:55 PM, Mahadev Konar wrote: >> Thanks Ted for your reasons listed. I would just like to clarify that >> the 1MB limit is the limit per node. Zookeeper keeps its datatree in >> memory. So theretically you are just limited by the amount of memory >> you >> have on machines you are running zookeeper on. Most of our users use >> Zookeeper for failure detection of slave nodes, master discovery and >> also for assigning workloads among nodes. They haven't had any memory >> issues. >> >> Regards >> Mahadev >> >>> -----Original Message----- >>> From: zoo...@li... >> [mailto:zookeeper-user- >>> bo...@li...] On Behalf Of Ted Dunning >>> Sent: Tuesday, April 22, 2008 2:47 PM >>> To: Stefan Groschupf; zoo...@li... >>> Subject: Re: [Zookeeper-user] zookeeper vs. heartbeat messages >>> >>> >>> I would definitely recommend zookeeper over heartbeat. Here are my >>> reasons: >>> >>> A) it works. Anything you implement using heartbeats will not work >>> initially and you will (should) always worry about that >>> implementation >>> because it won't get as much testing. >>> >>> B) it works. The use of ephemeral files is much easier than doing a >> good >>> heartbeat API. In particular, heartbeat always implies some sort of >>> fail-over which is trivial to implement well in zookeeper and very >> hard to >>> implement (correctly) by hand. >>> >>> C) it works. Heartbeat architectures often lead logically to a >> spiraling >>> number of heartbeats being exchanged. With zookeeper, your server >> will be >>> talking to zookeeper, and everybody else will have low latency >>> updates >> in >>> case of a problem (if they want). >>> >>> >>> Regarding the amount of data, I doubt you will have a problem if you >> keep >>> your zookeeper files reasonably sized. There is an imposed limit of >> 1MB, >>> but would you be going anywhere near that? >>> >>> On 4/22/08 2:31 PM, "Stefan Groschupf" <sg...@10...> wrote: >>> >>>> Hi >>>> I'm new to zookeeper and I work on a system that require classical >>>> master - slave communication similar to hadoop dfs or hbase. >>>> Though in my case the master need to know much faster if a slave >>>> crashes than in other cases. >>>> So I wonder if it would make sense instead of using classical >>>> heartbeat messages in can use zookeeper. >>>> Basically the master need to know if a new slave becomes available >> and >>>> what kind of data it servers. >>>> >>>> Is there any limitations where the amount of data stored within >>>> zookeeper becomes an issue? >>>> Would you recommend to use zookeeper over heartbeat messages? >>>> >>>> Thanks for any hints. >>>> Stefan >>>> >>>> >>>> >> ------------------------------------------------------------------------ >>> - >>>> This SF.net email is sponsored by the 2008 JavaOne(SM) Conference >>>> Don't miss this year's exciting event. There's still time to save >> $100. >>>> Use priority code J8TL2D2. >>>> >>> >> http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/j >> av >>> aone >>>> _______________________________________________ >>>> Zookeeper-user mailing list >>>> Zoo...@li... >>>> https://lists.sourceforge.net/lists/listinfo/zookeeper-user >>> >>> >>> >> ------------------------------------------------------------------------ >> - >>> This SF.net email is sponsored by the 2008 JavaOne(SM) Conference >>> Don't miss this year's exciting event. There's still time to save >> $100. >>> Use priority code J8TL2D2. >>> >> http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/j >> av >>> aone >>> _______________________________________________ >>> Zookeeper-user mailing list >>> Zoo...@li... >>> https://lists.sourceforge.net/lists/listinfo/zookeeper-user >> > > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > 101tec Inc. > Menlo Park, California, USA > http://www.101tec.com > > > > ------------------------------------------------------------------------- > This SF.net email is sponsored by the 2008 JavaOne(SM) Conference > Don't miss this year's exciting event. There's still time to save $100. > Use priority code J8TL2D2. > http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone > _______________________________________________ > Zookeeper-user mailing list > Zoo...@li... > https://lists.sourceforge.net/lists/listinfo/zookeeper-user |
From: Stefan G. <sg...@10...> - 2008-04-22 22:16:05
|
As mention we plan to build a distributed lucene serving grid system. One virtual index composed out of many lucene indexes (shards). Each slave should server a set of shards. The master need to assign shards to a slave if it becomes available or a new index is deployed. A slave need to get notifications if a new shard is assigned to it. The master need to get notifications in case a slave dies or for some reason can not serve a shard. The master also need to know some all shards a slave serves. How you would recommend to structure those information? Use one file per slave that is updated by master and slave and contains all shards meta data. Or one folder per node and each shard is one file? Or...? Thanks a lot! Stefan In our case we want to manage shards assign On Apr 22, 2008, at 2:55 PM, Mahadev Konar wrote: > Thanks Ted for your reasons listed. I would just like to clarify that > the 1MB limit is the limit per node. Zookeeper keeps its datatree in > memory. So theretically you are just limited by the amount of memory > you > have on machines you are running zookeeper on. Most of our users use > Zookeeper for failure detection of slave nodes, master discovery and > also for assigning workloads among nodes. They haven't had any memory > issues. > > Regards > Mahadev > >> -----Original Message----- >> From: zoo...@li... > [mailto:zookeeper-user- >> bo...@li...] On Behalf Of Ted Dunning >> Sent: Tuesday, April 22, 2008 2:47 PM >> To: Stefan Groschupf; zoo...@li... >> Subject: Re: [Zookeeper-user] zookeeper vs. heartbeat messages >> >> >> I would definitely recommend zookeeper over heartbeat. Here are my >> reasons: >> >> A) it works. Anything you implement using heartbeats will not work >> initially and you will (should) always worry about that >> implementation >> because it won't get as much testing. >> >> B) it works. The use of ephemeral files is much easier than doing a > good >> heartbeat API. In particular, heartbeat always implies some sort of >> fail-over which is trivial to implement well in zookeeper and very > hard to >> implement (correctly) by hand. >> >> C) it works. Heartbeat architectures often lead logically to a > spiraling >> number of heartbeats being exchanged. With zookeeper, your server > will be >> talking to zookeeper, and everybody else will have low latency >> updates > in >> case of a problem (if they want). >> >> >> Regarding the amount of data, I doubt you will have a problem if you > keep >> your zookeeper files reasonably sized. There is an imposed limit of > 1MB, >> but would you be going anywhere near that? >> >> On 4/22/08 2:31 PM, "Stefan Groschupf" <sg...@10...> wrote: >> >>> Hi >>> I'm new to zookeeper and I work on a system that require classical >>> master - slave communication similar to hadoop dfs or hbase. >>> Though in my case the master need to know much faster if a slave >>> crashes than in other cases. >>> So I wonder if it would make sense instead of using classical >>> heartbeat messages in can use zookeeper. >>> Basically the master need to know if a new slave becomes available > and >>> what kind of data it servers. >>> >>> Is there any limitations where the amount of data stored within >>> zookeeper becomes an issue? >>> Would you recommend to use zookeeper over heartbeat messages? >>> >>> Thanks for any hints. >>> Stefan >>> >>> >>> > ------------------------------------------------------------------------ >> - >>> This SF.net email is sponsored by the 2008 JavaOne(SM) Conference >>> Don't miss this year's exciting event. There's still time to save > $100. >>> Use priority code J8TL2D2. >>> >> > http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/j > av >> aone >>> _______________________________________________ >>> Zookeeper-user mailing list >>> Zoo...@li... >>> https://lists.sourceforge.net/lists/listinfo/zookeeper-user >> >> >> > ------------------------------------------------------------------------ > - >> This SF.net email is sponsored by the 2008 JavaOne(SM) Conference >> Don't miss this year's exciting event. There's still time to save > $100. >> Use priority code J8TL2D2. >> > http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/j > av >> aone >> _______________________________________________ >> Zookeeper-user mailing list >> Zoo...@li... >> https://lists.sourceforge.net/lists/listinfo/zookeeper-user > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 101tec Inc. Menlo Park, California, USA http://www.101tec.com |
From: Mahadev K. <ma...@ya...> - 2008-04-22 21:58:53
|
Thanks Ted for your reasons listed. I would just like to clarify that the 1MB limit is the limit per node. Zookeeper keeps its datatree in memory. So theretically you are just limited by the amount of memory you have on machines you are running zookeeper on. Most of our users use Zookeeper for failure detection of slave nodes, master discovery and also for assigning workloads among nodes. They haven't had any memory issues. Regards Mahadev > -----Original Message----- > From: zoo...@li... [mailto:zookeeper-user- > bo...@li...] On Behalf Of Ted Dunning > Sent: Tuesday, April 22, 2008 2:47 PM > To: Stefan Groschupf; zoo...@li... > Subject: Re: [Zookeeper-user] zookeeper vs. heartbeat messages > > > I would definitely recommend zookeeper over heartbeat. Here are my > reasons: > > A) it works. Anything you implement using heartbeats will not work > initially and you will (should) always worry about that implementation > because it won't get as much testing. > > B) it works. The use of ephemeral files is much easier than doing a good > heartbeat API. In particular, heartbeat always implies some sort of > fail-over which is trivial to implement well in zookeeper and very hard to > implement (correctly) by hand. > > C) it works. Heartbeat architectures often lead logically to a spiraling > number of heartbeats being exchanged. With zookeeper, your server will be > talking to zookeeper, and everybody else will have low latency updates in > case of a problem (if they want). > > > Regarding the amount of data, I doubt you will have a problem if you keep > your zookeeper files reasonably sized. There is an imposed limit of 1MB, > but would you be going anywhere near that? > > On 4/22/08 2:31 PM, "Stefan Groschupf" <sg...@10...> wrote: > > > Hi > > I'm new to zookeeper and I work on a system that require classical > > master - slave communication similar to hadoop dfs or hbase. > > Though in my case the master need to know much faster if a slave > > crashes than in other cases. > > So I wonder if it would make sense instead of using classical > > heartbeat messages in can use zookeeper. > > Basically the master need to know if a new slave becomes available and > > what kind of data it servers. > > > > Is there any limitations where the amount of data stored within > > zookeeper becomes an issue? > > Would you recommend to use zookeeper over heartbeat messages? > > > > Thanks for any hints. > > Stefan > > > > > > ------------------------------------------------------------------------ > - > > This SF.net email is sponsored by the 2008 JavaOne(SM) Conference > > Don't miss this year's exciting event. There's still time to save $100. > > Use priority code J8TL2D2. > > > http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/j av > aone > > _______________________________________________ > > Zookeeper-user mailing list > > Zoo...@li... > > https://lists.sourceforge.net/lists/listinfo/zookeeper-user > > > ------------------------------------------------------------------------ - > This SF.net email is sponsored by the 2008 JavaOne(SM) Conference > Don't miss this year's exciting event. There's still time to save $100. > Use priority code J8TL2D2. > http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/j av > aone > _______________________________________________ > Zookeeper-user mailing list > Zoo...@li... > https://lists.sourceforge.net/lists/listinfo/zookeeper-user |
From: Stefan G. <sg...@10...> - 2008-04-22 21:56:25
|
Great! Thanks! That was basically what I was hoping to hear. We just started a new sourceforge open source project named katta - that will server apache lucene shards using hadoop, zookeeper :) and of course lucene. Thanks for the fast feedback. Stefan On Apr 22, 2008, at 2:46 PM, Ted Dunning wrote: > > I would definitely recommend zookeeper over heartbeat. Here are my > reasons: > > A) it works. Anything you implement using heartbeats will not work > initially and you will (should) always worry about that implementation > because it won't get as much testing. > > B) it works. The use of ephemeral files is much easier than doing a > good > heartbeat API. In particular, heartbeat always implies some sort of > fail-over which is trivial to implement well in zookeeper and very > hard to > implement (correctly) by hand. > > C) it works. Heartbeat architectures often lead logically to a > spiraling > number of heartbeats being exchanged. With zookeeper, your server > will be > talking to zookeeper, and everybody else will have low latency > updates in > case of a problem (if they want). > > > Regarding the amount of data, I doubt you will have a problem if you > keep > your zookeeper files reasonably sized. There is an imposed limit of > 1MB, > but would you be going anywhere near that? > > On 4/22/08 2:31 PM, "Stefan Groschupf" <sg...@10...> wrote: > >> Hi >> I'm new to zookeeper and I work on a system that require classical >> master - slave communication similar to hadoop dfs or hbase. >> Though in my case the master need to know much faster if a slave >> crashes than in other cases. >> So I wonder if it would make sense instead of using classical >> heartbeat messages in can use zookeeper. >> Basically the master need to know if a new slave becomes available >> and >> what kind of data it servers. >> >> Is there any limitations where the amount of data stored within >> zookeeper becomes an issue? >> Would you recommend to use zookeeper over heartbeat messages? >> >> Thanks for any hints. >> Stefan >> >> >> ------------------------------------------------------------------------- >> This SF.net email is sponsored by the 2008 JavaOne(SM) Conference >> Don't miss this year's exciting event. There's still time to save >> $100. >> Use priority code J8TL2D2. >> http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone >> _______________________________________________ >> Zookeeper-user mailing list >> Zoo...@li... >> https://lists.sourceforge.net/lists/listinfo/zookeeper-user > > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 101tec Inc. Menlo Park, California, USA http://www.101tec.com |
From: Ted D. <tdu...@ve...> - 2008-04-22 21:47:42
|
I would definitely recommend zookeeper over heartbeat. Here are my reasons: A) it works. Anything you implement using heartbeats will not work initially and you will (should) always worry about that implementation because it won't get as much testing. B) it works. The use of ephemeral files is much easier than doing a good heartbeat API. In particular, heartbeat always implies some sort of fail-over which is trivial to implement well in zookeeper and very hard to implement (correctly) by hand. C) it works. Heartbeat architectures often lead logically to a spiraling number of heartbeats being exchanged. With zookeeper, your server will be talking to zookeeper, and everybody else will have low latency updates in case of a problem (if they want). Regarding the amount of data, I doubt you will have a problem if you keep your zookeeper files reasonably sized. There is an imposed limit of 1MB, but would you be going anywhere near that? On 4/22/08 2:31 PM, "Stefan Groschupf" <sg...@10...> wrote: > Hi > I'm new to zookeeper and I work on a system that require classical > master - slave communication similar to hadoop dfs or hbase. > Though in my case the master need to know much faster if a slave > crashes than in other cases. > So I wonder if it would make sense instead of using classical > heartbeat messages in can use zookeeper. > Basically the master need to know if a new slave becomes available and > what kind of data it servers. > > Is there any limitations where the amount of data stored within > zookeeper becomes an issue? > Would you recommend to use zookeeper over heartbeat messages? > > Thanks for any hints. > Stefan > > > ------------------------------------------------------------------------- > This SF.net email is sponsored by the 2008 JavaOne(SM) Conference > Don't miss this year's exciting event. There's still time to save $100. > Use priority code J8TL2D2. > http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone > _______________________________________________ > Zookeeper-user mailing list > Zoo...@li... > https://lists.sourceforge.net/lists/listinfo/zookeeper-user |
From: Stefan G. <sg...@10...> - 2008-04-22 21:31:42
|
Hi I'm new to zookeeper and I work on a system that require classical master - slave communication similar to hadoop dfs or hbase. Though in my case the master need to know much faster if a slave crashes than in other cases. So I wonder if it would make sense instead of using classical heartbeat messages in can use zookeeper. Basically the master need to know if a new slave becomes available and what kind of data it servers. Is there any limitations where the amount of data stored within zookeeper becomes an issue? Would you recommend to use zookeeper over heartbeat messages? Thanks for any hints. Stefan |