3台主机
192.168.30.207 Master
192.168.30.251 Node1
192.168.30.252 Node2
mkdir /tmp/zookeeper
tar -zxvf zookeeper-3.3.6.tar.gz
cp /hadoop/zookeeper-3.3.6/conf/zoo_sample.cfg /hadoop/zookeeper-3.3.6/conf/zoo.cfg
vi /hadoop/zookeeper-3.3.6/conf/zoo.cfg
# The number of milliseconds of each tick
tickTime=2000
# The number of ticks that the initial
# synchronization phase can take
initLimit=10
# The number of ticks that can pass between
# sending a request and getting an acknowledgement
syncLimit=5
# the directory where the snapshot is stored.
dataDir=/tmp/zookeeper
# the port at which the clients will connect
clientPort=2181
initLimit=5
syncLimit=2
server.1=master:2888:3888
server.2=node1:2888:3888
server.3=node2:2888:3888
以上配置内容可参考:
http://zookeeper.apache.org/doc/trunk/zookeeperStarted.html#sc_RunningReplicatedZooKeeper复制到其他主机
scp -r /hadoop/zookeeper-3.3.6 root@node1:/hadoop/
scp -r /hadoop/zookeeper-3.3.6 root@node2:/hadoop/
设置myid,用于标志当前主机,myid值即上面配置文件中 server.X=
echo "1" > /tmp/zookeeper/myid -master
echo "2" > /tmp/zookeeper/myid -node1
echo "3" > /tmp/zookeeper/myid -node2
启动,三台都要.
cd /hadoop/zookeeper-3.3.6/bin
./zkServer.sh start
输出:
JMX enabled by default
Using config: /hadoop/zookeeper-3.3.6/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
验证启动状态:
./zkServer.sh status
我的三台分别是:
master:
JMX enabled by default
Using config: /hadoop/zookeeper-3.3.6/bin/../conf/zoo.cfg
Mode: follower
node1:
JMX enabled by default
Using config: /hadoop/zookeeper-3.3.6/bin/../conf/zoo.cfg
Mode: leader
node2:
JMX enabled by default
Using config: /hadoop/zookeeper-3.3.6/bin/../conf/zoo.cfg
Mode: follower
可以看到我的node1是leader.
测试各Server是否已经启动:
echo ruok|nc master 2181
echo ruok|nc node1 2181
echo ruok|nc node2 2181
收到 imok 信息则表示成功了.
./zkServer.sh stop 停止