安装流程:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
准备工作:
搭建好jdk,mysql,hadoop和免密登录
关闭防火墙

#上传安装包后
cd ~/software
#解压到/usr/local/
sudo tar -zxvf apache-zookeeper-3.7.1-bin.tar.gz -C /usr/local/
cd /usr/local/
#修改文件名为zookeeper
sudo mv apache-zookeeper-3.7.1-bin/ zookeeper
#修改属组
sudo chown -R huser:huser zookeeper/

#修改权限
sudo chmod -R 777 zookeeper/
cd zookeeper/

#创建目录mydata
sudo mkdir mydata
sudo chmod 777 mydata/

#配置文件
cd conf/
cp zoo_sample.cfg zoo.cfg
vim zoo.cfg
dataDir=/usr/local/zookeeper/mydata
server.1=node1:2888:3888
server.2=node2:2888:3888
server.3=node3:2888:3888

注意:server.x的x是服务器号,与对应服务器dataDir中myid文件内的号码一致。

 提示:
  1.配置文件中的 tickTime 是心跳时间,意思是:集群必须以两秒为一个时间点,向 leader 报告“我不是死的”,所以这是 心跳包 的时间。
  2.配置文件中的 syncLimit=5 代表有5台机器可以同时运转。
  3.配置文件中的 clientPort=2181 是zk的默认端口。

#环境变量配置
sudo vim /etc/profile
export ZOOKEEPER_HOME=/usr/local/zookeeper
export PATH=$PATH:$ZOOKEEPER_HOME/bin

source /etc/profile

在主机执行命令
echo 1 > /usr/local/zookeeper/mydata/myid
sudo chmod 777 /usr/local/zookeeper/mydata/myid

cd /usr/local
scp -r /usr/local/zookeeper root@node2:$PWD
scp -r /usr/local/zookeeper root@node3:$PWD
scp /etc/profile root@node2:/etc/
scp /etc/profile root@node3:/etc/

#在第二台执行
vim /usr/local/zookeeper/mydata/myid
把1改为2
source /etc/profile

#在第三台执行
vim /usr/local/zookeeper/mydata/myid
把1改为3
source /etc/profile





#在三台都执行
zkServer.sh start
使用jps查看

zkServer.sh status
在这里普及一下服务器状态:
LOOKING:寻找Leader状态。当服务器处于该状态时,它认为当前集群中没有Leader。
FOLLOWING:跟随者状态,表明当前服务器角色Follower。
LEADING:领导者状态,表明当前服务器角色是Leader。
OBSERVING:观察者状态,表明当前服务器是Observer。


zkServer.sh stop