On 05/07/11 23:00, Eric Yang wrote:
In another project, I have implemented a bonjour beacon (jmdns) which
sit on the Zookeeper nodes to advertise the location of zookeeper
servers.  When clients start up, it will discover location of
zookeeper through multicast dns.  Once, the server locations are
resolved (ip:port and TXT records), the clients shutdown mdns
resolvers.  Client proceed to use the resolved list for zookeeper
access.  There does not seem to be cpu overhead incurred by the
beacon, nor the clients.  If a client could not connect to zookeeper
anymore, then it will start mdns resolvers to look for new list of
zookeeper servers.  The code for the project is located at:

http://github.com/macroadster/hms

It may be possible to use similar approach for location resolution,
and load rest of the config through zookeeper.

regards,
Eric


That's interesting; I think it's more important for clients to be able to bind dynamically than it is for the cluster machines, as they should be managed anyway.

When I was doing the hadoop-in-VM clustering stuff, I had a well-known URL to serve up the relevant XML file for the cluster from the JT -all it did was relay the request to the JT at whatever host it had been assigned. All the clients needed to know was the URL of the config server, and they could bootstrap to working against clusters whose FS and JT URLs were different from run to run.

zookeeper discovery would benefit a lot of projects

Reply via email to