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

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

三、集群模式

集群模式就是在不同主机上安装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即会正常。

参考:

http://coolxing.iteye.com/blog/1871009

https://zookeeper.apache.org/doc/r3.4.10/zookeeperStarted.html

转载于:https://www.cnblogs.com/liuys635/p/10758563.html

zookeeper安装教程(zookeeper3.4.5为例)相关推荐

  1. redis和zookeeper安装教程并配置开机自启

    redis和zookeeper安装教程并配置开机自启 redis安装并且配置开机自启 1.windows环境下的redis需要去github上获取: https://github.com/Micros ...

  2. ZooKeeper安装教程

    ZooKeeper安装教程 1.1 下载安装 1.2 配置启动 前言: ZooKeeper 是 Apache 软件基金会的一个软件项目,它为大型分布式计算提供开源的分布式配置服务.同步服务和命名注册. ...

  3. 后Xposed时代之EdXposed安装教程——以小米MIX3为例

    全机型android4-10安装面具带root及XP框架教程(需解锁bl) 一.Xposed介绍 二.安装 2.1 环境准备 2.1.1 环境说明 2.1.2 工具准备 2.2 刷入recovery ...

  4. python3.6安装pygame-Pygame 框架安装教程(Python3.6为例)

    1.python版本是3.6,最新的pygame是1.9.3,这两个最好都用32位的. pygame1.9.3下载地址:http://www.lfd.uci.edu/~gohlke/pythonlib ...

  5. mysql5 7安装教程_MySQL57安装教程

    MySQL57安装教程... --------------------------- 首先需要下载MySQL57安装包: --------------------------------------- ...

  6. Kali Linux系统下无线网卡MW310UH的驱动安装教程

    Kali驱动安装教程以MW310UH无线网卡为例 本次实验使用的操作系统为:kali-linux-2022.4-vmware-amd64,运行于VMware虚拟机环境. 1. 安装必要的系统软件包 编 ...

  7. 联想电脑linux安装教程视频,linux安装教程

    类型:教育学习大小:11.9M语言:中文 评分:10.0 标签: 立即下载 linux系统的功能是不错的操作系统,其性能稳定,继承了Unix以网络为核心的设计思想,用户根据自己的需求进行安装来使用,l ...

  8. 【学习笔记】Gaussian、ORCA、VASPKIT、Quantum ESPRESSO、CASTEP、CP2K+plumed等安装教程

    1. vaspkit的linux安装 2. Gaussian的linux安装 3. ORCA的linux安装 (含OpenMPI安装) 4. Quantum ESPRESSO的linux安装(含Int ...

  9. 五分钟搞定:Centos中Kafka和Zookeeper的快速安装教程

    [提前声明] 文章由作者:张耀峰 结合自己生产中的使用经验整理,最终形成简单易懂的文章 写作不易,转载请注明,谢谢! 代码案例地址: ?https://github.com/Mydreamandrea ...

最新文章

  1. jquery发送put请求_浅谈GET,POST,PUT发送请求
  2. linux 大量的TIME_WAIT解决办法
  3. threadlocal用法_ThreadLocal源码分析
  4. oracle单表高并发,见过这么高并发( logons current)的数据库么?
  5. vue - 使用axios
  6. Linux--线程编程
  7. 相关的验证的正则表达式
  8. 2020-06-15 有理分式矩阵及其互质分解
  9. python enumerate函数用法
  10. zookeeper的ZAB协议学习
  11. java resultset转json_ResultSet到JSON的最有效转换?
  12. WEB框架研究笔记七(Spring2+struts2)
  13. dos创建mysql数据库_用命令创建MySQL数据库
  14. MySQL 之 约束 (主键、唯一、非空、自增、外键)
  15. 2019.03.25 bzoj4572: [Scoi2016]围棋(轮廓线dp)
  16. 从贝叶斯定理到模糊动态贝叶斯网络
  17. openwrt下ipk生成过程及原理
  18. 招商银行笔试题之糖果分配
  19. sublime text 3 javascript 语法检查
  20. 性价比最高处理器和国产处理器I.MX6UL/A40I/T3对比

热门文章

  1. 记录安装oracle的那些事(二)之双系统安装
  2. [禅悟人生]每个人都可以获得自己的精彩
  3. 页面动态显示程序执行结果-append
  4. 2.2. 对网络安全的威胁
  5. 如何应对5G带来的新安全挑战
  6. [日常] Go语言圣经-Deferred函数
  7. shell的C语言写法
  8. C#进阶系列——WebApi 身份认证解决方案:Basic基础认证
  9. Streaming源码解读之接收流数据的全生命周期
  10. SQL索引学习-聚集索引