Zookeeper安装

平手友梨奈

zookeeper有单机、伪集群、集群三种部署方式,可根据自己对可靠性的需求选择合适的部署方式。下边对这三种部署方式逐一进行讲解。

一、单机安装

1.1 下载

进入要下载的版本的目录,选择.tar.gz文件下载

下载链接:http://archive.apache.org/dist/zookeeper/

1.2 安装

使用tar解压要安装的目录即可,以3.4.5版本为例

这里以解压到/usr/myapp,实际安装根据自己的想安装的目录修改(注意如果修改,那后边的命令和配置文件中的路径都要相应修改)

tar -zxf zookeeper-3.4.5.tar.gz -C /usr/myapp

1.3 配置

在主目录下创建data和logs两个目录用于存储数据和日志:

cd /usr/myapp/zookeeper-3.4.5
mkdir data 
mkdir logs

在conf目录下新建zoo.cfg文件,写入以下内容保存:

tickTime=2000 
dataDir=/usr/myapp/zookeeper-3.4.5/data
dataLogDir=/usr/myapp/zookeeper-3.4.5/logs
clientPort=2181

1.4 启动和停止

进入bin目录,启动、停止、重启分和查看当前节点状态(包括集群中是何角色)别执行:

./zkServer.sh start
./zkServer.sh stop
./zkServer.sh restart
./zkServer.sh status

二、伪集群模式

伪集群模式就是在同一主机启动多个zookeeper并组成集群,下边以在192.168.220.128主机上创3个zookeeper组集群为例。

将通过第一大点安装的zookeeper,复制成zookeeper1/zookeeper2/zookeeper3三份

2.1 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.220.128:2888:3888
server.2=192.168.220.128:4888:5888
server.3=192.168.220.128:6888:7888

zookeeper1的data/myid配置如下:

echo '1' >> data/myid

2.2 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.220.128:2888:3888 
server.2=192.168.220.128:4888:5888 
server.3=192.168.220.128:6888:7888

zookeeper2的data/myid配置如下:

echo '2' >> data/myid

2.3 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.220.128:2888:3888 
server.2=192.168.220.128:4888:5888 
server.3=192.168.220.128:6888:7888

zookeeper3的data/myid配置如下:

echo '3' >> data/myid

最后把三个zookeeper都启动即可,启动顺序随意没要求。

1.停止Zookeeper
伪分布式:
zkServer.sh stop /usr/local/zookeeper-3.4.6/conf/zoo1.cfg
zkServer.sh stop /usr/local/zookeeper-3.4.6/conf/zoo2.cfg
zkServer.sh stop /usr/local/zookeeper-3.4.6/conf/zoo3.cfg

2.启动Zookeeper
zkServer.sh start /usr/local/zookeeper-3.4.6/conf/zoo1.cfg
zkServer.sh start /usr/local/zookeeper-3.4.6/conf/zoo2.cfg
zkServer.sh start /usr/local/zookeeper-3.4.6/conf/zoo3.cfg

3.查看zookeeper状态
zkServer.sh status /usr/local/zookeeper-3.4.6/conf/zoo1.cfg
zkServer.sh status /usr/local/zookeeper-3.4.6/conf/zoo2.cfg
zkServer.sh status /usr/local/zookeeper-3.4.6/conf/zoo3.cfg

三、集群模式

集群模式就是在不同主机上安装zookeeper然后组成集群的模式;下边以在192.168.220.128/129/130三台主机为例。

将第1.1到1.3步中安装好的zookeeper打包复制到129和130上,并都解压到同样的目录下。

3.1 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.220.128:2888:3888
server.2=192.168.220.129:2888:3888
server.3=192.168.220.130:2888:3888

对于129和130,由于安装目录都是zookeeper-3.4.5所以dataDir和dataLogDir不需要改变,又由于在不同机器上所以clientPort也不需要改变

所以此时129和130的conf/zoo.cfg的内容与128一样即可。

3.2 data/myid文件修改

128 data/myid修改如下:

echo '1' > data/myid

129 data/myid修改如下:

echo '2' > data/myid

130 data/myid修改如下:

echo '3' > data/myid

最后使用1.4的命令把三个zookeeper都启动即可,启动顺序随意没要求。

四、报错及处理

应用连接zookeepr报错:Session 0x0 for server 192.168.220.128/192.168.220.128:2181,unexpected error,closing socket connection and attempting reconnect;

先看端口能否telnet通,如果通则使用./zkServer.sh status查看zk是否确实已启动,没启查看bin/zookeeper.out中的报错。

bin/zookeeper.out中报错:“zookeeper address already in use”;显然端口被占用,要么是其他进程占用了配置的端口,要么是上边配置的clientPort和server中的端口有重复。

bin/zookeeper.out中报错:Cannot open channel to 2 at election address /192.168.220.130:3888;这应该只是组成集群的130节点未启动,到130启动起来zk即会正常。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是...
    andycheng阅读 2,600评论 0 1
  • 软件下载 写本文时, ZooKeeper 最新稳定版本是 3.4.8, 可以从 ZooKeeper官网 下载 zo...
    珍爱矢豆阅读 48,418评论 3 5
  • 1 Zookeeper基本框架 Zookeeper集群主要角色有Leader,Learner(Follower,O...
    XuDongTian阅读 3,068评论 0 0
  • zookeeper安装部署 下载 解压 解压完成后进入zookeeper-3.4.12 目录结构如下: ├── b...
    volkin阅读 3,987评论 1 1
  • 游山鸟不朝,风弄翠枝箫。 登拜鸣青阁,飞辞竹涧桥。 老茎生万子,尖叶绿千条。 古调描佳景,今人舞倩腰。
    久歌阅读 3,693评论 2 2

友情链接更多精彩内容