本地模式,和伪分布模式,只适合测试
1:下载zookeeper(zookeeper-3.4.6.tar.gz)
http://mirrors.cnnic.cn/apache/zookeeper/zookeeper-3.4.7/
规划:5个节点(nimbus,slave1,slave2,slave3,slave4)参与选举为前三个节点,后面两个节点作为observer,不参与投票,只负责监控,读取数据
创建目录(xshell 执行一下命令,5个节点同时创建目录)
mkdir -p /home/hadoop/app
tar -zxvf zookeeper-3.4.6.tar.gz
mv zookeeper-3.4.6 zookeeper
chown -R hadoop:hadoop zookeeper
su hadoop
cd zookeeper
cd conf/
cp zoo_sample.cfg zoo.cfg
vi zoo.cfg
tickTime=2000(客户端与服务器之间维持心跳的时间间隔单位毫秒)每个多少时间发送一个心跳
initLimit=10(zookeeper接收客户端,zookeeper服务器集中连到leader服务器,不是用户客户端,次数超过多少,无应答,表示失败)
syncLimit=5(leader与follower,发送消息,请求和应答时间长度)
dataDir=/tmp/zookeeper(数据节点,日志文件)/home/hadoop/data/zookeeper/zkdata
dataLogDir=/home/hadoop/data/zookeeper/zkdatalog
clientPort=2181(客户端口)
server.1=nimbus:2888:3888
server.2=slave1:2888:3888
server.3=slave2:2888:3888
server.4=slave3:2888:3888:observer
server.5=slave4:2888:3888:observer
(xshell 执行一下命令,5个节点同时创建目录)
mkdir -p /home/hadoop/data/zookeeper/zkdata
mkdir -p /home/hadoop/data/zookeeper/zkdatalog
cd /home/hadoop/data/zookeeper/zkdata
vi myid
1
wq
slave1 下
cd zkdata
vi myid
2
wq
其他节点类似创建myid
将配置好的zookeeper同步到其他节点上
scp -r zookeeper hadoop@slave1:/home/hadoop/app/
scp -r zookeeper hadoop@slave2:/home/hadoop/app/
scp -r zookeeper hadoop@slave3:/home/hadoop/app/
scp -r zookeeper hadoop@slave4:/home/hadoop/app/
slave3上改配置
vi zoo.cfg
peerType=observer
slave4上改配置
vi zoo.cfg
peerType=observer
快捷命令方式
cd /home/hadoop/app/zookeeper
启动下
bin/zkServer.sh start
查看进程 jps
bin/zkServer.sh status
follower nimbus,slave1
leader slave2
observer slave3,slave4
测试-把slave2停止
bin/zkServer.sh stop
slave1变成leader
把slave1停掉
bin/zkServer.sh stop
nimbus下
bin/zkServer.sh status 集群不可用
slave3和slave4都不可用