环境准备:

  1. 操作系统,此处使用windows系统
  2. Java运行环境,JDK1.6以上
  3. 下载对应操作系统zookeeper安装包zookeeper-x.x.x.tar.gz,下载地址:http://zookeeper.apache.org/releases.html,解压,下文使用%ZK_HOME%表示该zookeeper的安装目录

部署:

  • 单机模式
  1. 配置zoo.cfg

    将%ZK_HOME%/conf目录下的zoo_sample.cfg文件拷贝一份命名为zoo.cfg,配置成:
tickTime=2000
initLimit=10
syncLimit=5
#数据目录
dataDir=D:/zookeeper/zookeeper-3.4.9-1/tmp/zookeeper
#客户端端口
clientPort=2181
server.1=127.0.0.1:2888:3888
  1. 启动服务器
sh %ZK_HOME%/bin/zkServer.sh start
  1. 验证服务器

    运行%ZK_HOME%/bin/zkCli.cmd,linux系统下运行%ZK_HOME%/bin/zkCli.sh,也可以用telnet 127.0.0.1 2181验证
  • 伪集权模式
  1. 配置文件zoo.cfg

    将%ZK_HOME%/conf目录下的zoo_sample.cfg文件拷贝一份命名为zoo.cfg,按如下作简单配置:
tickTime=2000
initLimit=10
syncLimit=5
dataDir=D:/zookeeper/zookeeper-3.4.9-1/tmp/zookeeper
clientPort=2181
server.1=127.0.0.1:2888:3888
server.2=127.0.0.1:2889:3889
  1. 创建myid文件

    在每个ZooKeeper的dataDir目录下创建myid文件,内容为每台机器的ServerID
1
  1. 按照相同的步骤,为其他机器都配置好zoo.cfg和myid,其中myid的文件内容配成对应的serverID,zoo.cfg中的clientPort换成别的未被占用的端口
  2. 启动服务器

    运行%ZK_HOME%/bin/zkServer.cmd,linux系统下运行%ZK_HOME%/bin/zkServer.sh
  3. 验证服务器

    使用telnet 127.0.0.1 2181验证
  • 集权模式

集权模式同上面伪集权模式相同,因为zookeeper部署在不同的机器上,IP地址不同,所以将zoo.cfg中配置的服务器的ip地址修改成对应的ip即可

zoo.cfg详解

  • tickTime:这个时间是作为 Zookeeper 服务器之间或客户端与服务器之间维持心跳的时间间隔,也就是每个 tickTime 时间就会发送一个心跳。
  • dataDir:顾名思义就是 Zookeeper 保存数据的目录,默认情况下,Zookeeper 将写数据的日志文件也保存在这个目录里。
  • clientPort:这个端口就是客户端连接 Zookeeper 服务器的端口,Zookeeper 会监听这个端口,接受客户端的访问请求。
  • initLimit:这个配置项是用来配置 Zookeeper 接受客户端(这里所说的客户端不是用户连接 Zookeeper 服务器的客户端,而是 Zookeeper 服务器集群中连接到 Leader 的 Follower 服务器)初始化连接时最长能忍受多少个心跳时间间隔数。当已经超过 5个心跳的时间(也就是 tickTime)长度后 Zookeeper 服务器还没有收到客户端的返回信息,那么表明这个客户端连接失败。总的时间长度就是 5*2000=10 秒
  • syncLimit:这个配置项标识 Leader 与 Follower 之间发送消息,请求和应答时间长度,最长不能超过多少个 tickTime 的时间长度,总的时间长度就是 2*2000=4 秒
  • server.A=B:C:D:其中 A 是一个数字,表示这个是第几号服务器;B 是这个服务器的 ip 地址;C 表示的是这个服务器与集群中的 Leader 服务器交换信息的端口;D 表示的是万一集群中的 Leader 服务器挂了,需要一个端口来重新进行选举,选出一个新的 Leader,而这个端口就是用来执行选举时服务器相互通信的端口。如果是伪集群的配置方式,由于 B 都是一样,所以不同的 Zookeeper 实例通信端口号不能一样,所以要给它们分配不同的端口号。

bash脚本

脚本 说明
zkCleanup 清理zk历史数据,包括事务日志文件和快照数据文件
zkCli zk的一个简易客户端
zkEnv 设置zk的环境变量
zkServer zk服务器启动、停止和重启脚本
#连接指定的zk服务器
sh zhCli.sh -server ip:port

zookeeper部署和运行的更多相关文章

  1. zookeeper部署及集群测试

    zookeeper部署及集群测试 环境 三台测试机 操作系统: centos7 ; hostname: c1 ; ip: 192.168.1.80 操作系统: centos7 ; hostname: ...

  2. Zookeeper安装及运行

    zookeeper的安装分为三种模式:单机模式.集群模式和伪集群模式. 单机模式 首先,从Apache官网下载一个Zookeeper稳定版本,本次教程采用的是zookeeper-3.4.9版本. ht ...

  3. 大数据【六】ZooKeeper部署

    这是一个分布式服务框架,阿帕奇的一个子项目.关于ZooKeeper我只简单的部署一下,以便后面的HBase. 一  概述 ZooKeeper 分布式服务框架是 Apache Hadoop 的一个子项目 ...

  4. Xamarin 跨移动端开发系列(01) -- 搭建环境、编译、调试、部署、运行

    如果是.NET开发人员,想学习手机应用开发(Android和iOS),Xamarin 无疑是最好的选择,编写一次,即可发布到Android和iOS平台,真是利器中的利器啊!好了,废话不多说,就开始吧, ...

  5. ZooKeeper安装与运行

    ZooKeeper安装与运行 首先从官网下载ZooKeeper压缩包,然后解压下载得到的ZooKeeper压缩包,发现有“bin,conf,lib”等目录.“bin目录”中存放有运行脚本:“conf目 ...

  6. 用Java为Hyperledger Fabric(超级账本)开发区块链智能合约链代码之部署与运行示例代码

    部署并运行 Java 链代码示例 您已经定义并启动了本地区块链网络,而且已构建 Java shim 客户端 JAR 并安装到本地 Maven 存储库中,现在已准备好在之前下载的 Hyperledger ...

  7. centos7 下zookeeper 部署 单机多实例模式

    centos7 下zookeeper 部署 本文参考https://www.linuxidc.com/Linux/2016-09/135052.htm 1.创建/usr/local/zookeeper ...

  8. 单点登录(五)-----遇到问题-----cas server 源码部署tomcat运行报错BeanCreationException:Error creating bean with name 's

    我们在上一篇文章已经解决了把下载好的cas server源码部署到tomcat缺少子项目编辑文件或者jar包导致找不到class报错的问题 单点登录(四)-----遇到问题-----cas serve ...

  9. 单点登录(四)-----遇到问题-----cas server 源码部署tomcat运行报错ClassNotFoundException: org.jasig.cas.CasEnvironmentCo

    情况 cas单点登录 cas server 源码部署tomcat运行报错 把cas server的代码下载下来后使用gradle插件或者maven插件以及转化成eclipse·后导入发现部署到tomc ...

随机推荐

  1. css3特效样式库

    直接调用样式类即可: /* animation */ .a-bounce,.a-flip,.a-flash,.a-shake,.a-swing,.a-wobble,.a-ring{-webkit-an ...

  2. 浅谈OGNL表达式

    OGNL(Object-Graph Navigation Language):对象视图导航语言 ${user.addr.name}这样的写法就叫对象视图导航 OGNL不仅可以视图导航,支持EL表达式更 ...

  3. Python配置文件实现

    实现目标: 支持配置文件继承 支持本地配置文件 支持配置文件别名 简单的配置文件操作 最新的代码可以参考 https://github.com/blackmatrix7/matrix-toolkit/ ...

  4. npm安装删除模块以及cnpm淘宝镜像

    npm安装模块 [$ npm install xxx]利用 npm 安装xxx模块到当前命令行所在目录: [$ npm install -g xxx]利用npm安装全局模块xxx: npm 删除模块 ...

  5. nmon进行性能分析

    在压测的时候,搭配nmon,可以很好的记录机器cpu情况,内存情况 下载 需要下载nmon和nmon analyser,到各自的官网下载. nmon可以根据自己的操作系统版本下载二进制文件,免去安装. ...

  6. python基础(三)编码,深浅copy

    编码,深浅copy encode,decode在python2中使用的一些迷糊,python3中更容易理解 要理解encode和decode,首先我们要明白编码,字符和二进制的相关概念,简单来说,计算 ...

  7. Task log(未)

    Keyword: fatal, crash, dead, out of memory, oom, anr in, non-protected File: main ,sys ,crash

  8. 前端包管理工具 yarn

    yarn 是一个  与 npm 类似的 前端包管理工具 安装 windows  要去官网下载 (一定要去官网下载 .mis 文件进行安装)   用npm 或者 cnpm  也能安装 但是这种安装 有缺 ...

  9. [转载]常见slave 延迟原因以及解决方法

    一  序言在运维线上M-M 架构的MySQL数据库时,接收的比较多关于主备延时的报警: 点击(此处)折叠或打开 check_ins_slave_lag (err_cnt:1)critical-slav ...

  10. sublime 挪移的第一层(插件的安装和使用)

    人总要坚持一些什么,故从今儿始,咱也开始写博客,不为成为大神,不为成为分享大师,只为让自己快活有成就感一些 1.sublime的安装 登录sublime官网 : http://www.sublimet ...