It works now, thanks. My configuration had a conflict between clientPort
and one of the server ports.
Jun
IBM Almaden Research Center
K55/B1, 650 Harry Road, San Jose, CA 95120-6099
jun...@almaden.ibm.com
Patrick Hunt ph...@apache.org wrote on 04/13/2009 01:45:08 PM:
Jun Rao wrote:
From the ZK web site, it's not clear how to set up a multi-node ZK
service.
It seems that one has to add the server entries in the conf file and
create
myid files on each node. Then, how should I start the ZK nodes? I tried
issuing zkServer start from each node and that didn't seem to work.
Is
that the right way to start the service? Also, once the service is up,
is
there a way to check the list of nodes used by ZK and which node is the
leader? Thanks,
See this for a step-by-step guide:
http://hadoop.apache.org/zookeeper/docs/current/zookeeperAdmin.
html#sc_zkMulitServerSetup
In particular steps 4 5.
your config should look something like (for 3 server ensemble):
tickTime=2000
dataDir=/path/to/data/dir
clientPort=2181
initLimit=5
syncLimit=2
server.1=host1.foo.com:2888:2889
server.2=host2.foo.com:2888:2889
server.3=host3.foo.com:2888:2889
this file needs to exist (available to) each of the servers in the
ensemble. Try the command line listed in step 5 to start the server
(conf in the classpath is there to pickup the log4j configuration, you
could use that to debug). The myid file needs to exist in each server's
dataDir (not shared of course).
Either JMX, the logs, or the stat command documented here:
http://hadoop.apache.org/zookeeper/docs/current/zookeeperAdmin.
html#sc_zkCommands
will give insight on things like which server is the leader. The stat
command is the simplest (nc to the clientPort of the server and issue
the stat command).
Patrick