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=

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:

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:

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:

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:

对于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

zookeeper安装教程(zookeeper3.4.5为例)的更多相关文章

  1. Greenplum 源码安装教程 —— 以 CentOS 平台为例

    Greenplum 源码安装教程 作者:Arthur_Qin 禾众 Greenplum 主体以及orca ( 新一代优化器 ) 的代码以可以从 Github 上下载.如果不打算查看代码,想下载编译好的 ...

  2. zookeeper安装教程

    zookeeper  一.单机安装 1.1 下载 1.2 安装 1.3 配置 1.4 启动和停止 二.伪集群模式 2.1 zookeeper1配置 2.2 zookeeper2配置 2.3 zooke ...

  3. 2021最新版Dubbo-admin+Zookeeper安装教程

    安装程序包 这是写教程时收集好的文件,可直接点击下载,也可以跟着步骤自行下载:https://hanzhe.lanzous.com/ihna9jzcsze Zookeeper下载地址,任选其一点击下载 ...

  4. WebSphere安装教程(WAS6.1为例)

    1.网络准备 我们选择图形界面安装,如果堡垒机是windows则要在目标机器安装桌面环境并开启vcnserver:如果堡垒机是Linux则在堡垒机安装桌面环境和vncserver,然后将目标机的DIS ...

  5. WebSphere静默安装教程(WAS6.1为例)

    1.安装WebSphere 解压守装包: tar -zxf was_soft_64-bit.tar.gz 进入解压出的WAS目录编缉responsefile.nd.txt,将对应选项修值改成以下模样( ...

  6. Pygame 框架安装教程(Python3.6为例)

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

  7. 单机版ZooKeeper的安装教程

    之前一直没有时间去整理,现在抽出几分钟时间整理以下,有问题的在评论区留言即可. 前期准备JDK环境(ZK需要jdk进行编译,本文以jdk1.8.0_211为例).Linux系统(本文以Centos7为 ...

  8. Tomcat安装教程及常见错误解决方法

    目录 Tomcat安装教程及常见错误解决方法 一.安装前准备 ·熟悉自己电脑的操作系统版本(32位or64位) ·保证电脑上已经装好JDK,并且已经设置好环境变量. 二.Tomcat安装教程(以Tom ...

  9. JDK+Tomcat+Zookeeper+DubboAdmin安装教程

    JDK+Tomcat+Zookeeper+DubboAdmin安装教程 1. 安装内容: JDK 1.8.131 Tomcat 7.0.77 Zookeeper 3.4.9 Dubbo admin 2 ...

随机推荐

  1. Android创建或删除了文件,在电脑端查看的时候,却没有对应的变化,处理办法

    在Android应用中,碰到一个问题,在代码中执行创建或者删除某个文件后,在系统的文件管理器中能够相应地看到文件的变化,但是插在电脑上查看的时候,却看不到改文件的变化.同时,当创建文件后,在系统中的某 ...

  2. 从锅炉工到AI专家(8)

    ImageNet 基础部分完成,从本篇开始,会略微的增加一些难度. 通常说,在解决问题的时候,大多程序员都会在网上搜索,寻找一些相似相近的案例作为参考.这个方式在机器学习领域同样有效.可惜早期的时候, ...

  3. ELK-log4j2异步输出+logstash

    1.pom.xml配置文件 <dependency> <groupId>log4j</groupId> <artifactId>log4j</ar ...

  4. Linux基础知识第二讲,文件目录命令使用

    目录 一丶Linux终端使用技巧. 1.自动补全 Tab技巧. 2.使用输入过的命令 二丶Linux 目录知识 1.linux目录的特点 2.ls 隐藏文件的查看 3.ls 常用选项 4.通配符的配合 ...

  5. 批处理启动vm虚拟机服务 vm12启动无界面启动vm虚拟机系统 windows上如何操作服务 sc net启动关闭服务

    windows(win10)批处理脚本 打开vm虚拟机的服务,并且开启无界面虚拟机 @echo off net start "vds" net start "VMAuth ...

  6. springboot情操陶冶-web配置(四)

    承接前文springboot情操陶冶-web配置(三),本文将在DispatcherServlet应用的基础上谈下websocket的使用 websocket websocket的简单了解可见维基百科 ...

  7. 【.NET Core项目实战-统一认证平台】第十六章 网关篇-Ocelot集成RPC服务

    [.NET Core项目实战-统一认证平台]开篇及目录索引 一.什么是RPC RPC是"远程调用(Remote Procedure Call)"的一个名称的缩写,并不是任何规范化的 ...

  8. windows下Jmeter压力测试工具的安装

    JMeter是Apache软件基金会的产品,用于对静态的和动态的资源(文件,Servlet,Perl脚本,Java 对象,数据库和查询,FTP服务器等等)的性能进行测试.是一款很方便的测试软件. 系统 ...

  9. MySQL高级特性之分区表

    对于用户而言,分区表是一个独立的逻辑表,但是在底层由多个物理子表组成.实现分区的代码实际上是对一组底层表的句柄对象的封装,对分区表的请求都会通过句柄对象转化成对存储引擎的接口调用 意义 MySQL在创 ...

  10. 怎么使用Fiddler进行抓包

    启动Fiddler,打开菜单栏中的 Tools > Fiddler Options,打开“Fiddler Options”对话框.      在Fiddler Options”对话框切换到“Co ...