Zookeeper的简单简绍
- zookeeper有单机、伪集群、集群三种部署方式,可根据自己对可靠性的需求选择合适的部署方式。下边对这三种部署方式逐一进行讲解。
一、Zookeeper单机安装
- 解压缩
tar -zxf zookeeper-3.4.5.tar.gz
- 在主目录下创建data和logs两个目录用于存储数据和日志
cd /usr/myapp/zookeeper-3.4.5 mkdir datamkdir logs
在conf目录下新建zoo.cfg文件,写入以下内容保存
tickTime=2000
dataDir=/usr/myapp/zookeeper-3.4.5/data
dataLogDir=/usr/myapp/zookeeper-3.4.5/logs clientPort=2181
- 启动和停止 进入bin目录,启动、停止、重启分和查看当前节点状态(包括集群中是何角色)
./zkServer.sh start
./zkServer.sh stop
./zkServer.sh restart
./zkServer.sh status
二、Zookeeper伪分布式安装
-
伪集群模式就是在同一主机启动多个zookeeper并组成集群,下边以在192.168.0.150主机上创3个zookeeper组集群为例。 将通过第一大点安装的zookeeper,复制成zookeeper1/zookeeper2/zookeeper3三份
-
zookeeper1配置 zookeeper1配置文件conf/zoo.cfg修改如下
tickTime=2000 dataDir=/usr/myapp/zookeeper1/data dataLogDir=/usr/myapp/zookeeper1/logs clientPort=2181 initLimit=5 syncLimit=2 server.1=192.168.0.150:2888:3888 server.2=192.168.0.150:4888:5888 server.3=192.168.0.150:6888:7888 zookeeper1的data/myid配置如下 echo '1' > data/myid
-
zookeeper2配置 zookeeper2配置文件conf/zoo.cfg修改如下
tickTime=2000 dataDir=/usr/myapp/zookeeper2/data dataLogDir=/usr/myapp/zookeeper2/logs clientPort=3181 initLimit=5 syncLimit=2 server.1=192.168.0.150:2888:3888 server.2=192.168.0.150:4888:5888 server.3=192.168.0.150:6888:7888 zookeeper2的data/myid配置如下 echo '2' > data/myid
-
zookeeper3配置 zookeeper3配置文件conf/zoo.cfg修改如下
tickTime=2000
dataDir=/usr/myapp/zookeeper3/data
dataLogDir=/usr/myapp/zookeeper3/logs
clientPort=4181
initLimit=5
syncLimit=2
server.1=192.168.0.150:2888:3888
server.2=192.168.0.150:4888:5888
server.3=192.168.0.150:6888:7888
zookeeper3的data/myid配置如下
echo '3' > data/myid
- 最后在bin目录下使用
./zkServer.sh start
开启
使用./zkServer.sh status
查看状态
三、Zookeeper集群模式
- 集群模式就是在不同主机上安装zookeeper然后组成集群的模式;下边以在192.168.0.150/151/152三台主机为例。
conf/zoo.cfg文件修改三个zookeeper的conf/zoo.cfg修改如下
tickTime=2000
dataDir=/usr/myapp/zookeeper-3.4.5/data
dataLogDir=/usr/myapp/zookeeper-3.4.5/logs
clientPort=2181
initLimit=5
syncLimit=2
server.1=192.168.0.150:2888:3888
server.2=192.168.0.151:2888:3888
server.3=192.168.0.152:2888:3888
- 对于129和130,由于安装目录都是zookeeper-3.4.5所以dataDir和dataLogDir不需要改变,又由于在不同机器上所以clientPort也不需要改变所以此时151和152的conf/zoo.cfg的内容与150一样即可。
data/myid文件修改
150 data/myid修改如下
echo '1' > data/myid
151 data/myid修改如下
echo '2' > data/myid
152 data/myid修改如下
echo '3' > data/myid
- 最后使用命令把三个zookeeper都启动即可,启动顺序随意没要求。