Zookeeper安装和配置

准备工作

  1. 安装 JDK,此步略。

  2. 下载 zookeeper

    wget http://archive.apache.org/dist/zookeeper/zookeeper-3.4.6/zookeeper-3.4.6.tar.gz
    # 或者
    curl -O https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/zookeeper-3.4.14/zookeeper-3.4.14.tar.gz
  3. 解压 zookeeper

    tar -zxvf zookeeper-3.4.6.tar.gz -C /usr/local/
  4. 创建软链,方便版本转换

    ln -s zookeeper-3.4.6 zookeeper

单机版安装

  1. 切换到 zookeer 软链目录下执行

    cd usr/local/zookeeper/conf/cp zoo_sample.cfg  zoo.cfg
  2. 编辑 zoo.cfg 配置文件

    vim zoo.cfg

  3. 启动服务

    # 启动服务
    bin/zkServer.sh start
    # 测试连接
    bin/zkCli.sh –server 127.0.0.1:2181

集群安装

​ 在zoo.cfg 添加配置,并按照下面的配置部署到相应的机器上,并在相应的服务器的数据目录下创建 myid 文件,并填写本机对应的 server.NUM 数值.如 server.1,则填 1。

    ## 真集群示例
server.1=192.168.101:2888:3888
server.2=192.168.102:2888:3888
server.3=192.168.103:2888:3888
## 伪集群示例
# server.1=127.0.0.1:2888:3888
# server.1=127.0.0.1:2889:3889
# server.1=127.0.0.1:2890:3890

配置文件详解

Zookeeper 的默认配置文件为 zookeeper/conf/zoo_sample.cfg,需要将其修改为 zoo.cfg

     ## CS通信心跳数
## Zookeeper 服务器之间或客户端与服务器之间维持心跳的时间间隔,以毫秒为单位。
tickTime=2000 ## 初始通信时限
## 集群中的follower与leader之间初始连接时能容忍的最多心跳数(tickTime的数量)。
initLimit=10 ## LF同步通信时限
## 集群中的follower与leader之间请求和应答之间能容忍的最多心跳数(tickTime的数量)。
syncLimit=5 ## 数据文件目录
## 保存数据的目录,默认情况下,Zookeeper将写数据的日志文件也保存在这个目录里。
dataDir=/home/ling/zookeeper/data ## 日志文件目录
## 保存日志文件的目录。
dataLogDir=/home/ling/zookeeper/log ## 客户端连接端口
## 客户端连接 Zookeeper 服务器的端口,Zookeeper 会监听这个端口,接受客户端的访问请求。
clientPort=2181 ## 服务器名称与地址:集群信息(服务器编号,服务器地址,LF通信端口,选举端口)
## 这个配置项的书写格式比较特殊,规则如下:
## 如 server.N=YYY:A:B
## N 表示服务器编号;
## YYY 表示服务器的IP地址;
## A为LF通信端口表示该服务器与集群中的leader交换的信息的端口;
## B为选举端口,表示选举新leader时服务器间相互通信的端口(当leader挂掉时,其余服务器会相互通信,选择出新的leader)
## 一般来说,集群中每个服务器的A端口都是一样,每个服务器的B端口也是一样。但是当所采用的为伪集群时,IP地址都一样,只能时A端口和B端口不一样
## 真集群示例
server.1=192.168.101:2888:3888
server.2=192.168.102:2888:3888
server.3=192.168.103:2888:3888
## 伪集群示例
# server.1=127.0.0.1:2888:3888
# server.1=127.0.0.1:2889:3889
# server.1=127.0.0.1:2890:3890 ## 最大请求堆积数
## 默认是1000。在 server 无空闲来处理更多的客户端请求时,允许客户端将请求提交到服务器上来,以提高吞吐性能。当然,为了防止Server内存溢出,这个请求堆积数还是需要限制下的。
# globalOutstandingLimit=1000 ## 预先开辟磁盘空间
## 用于后续写入事务日志。默认是64M,每个事务日志大小就是64M。如果ZK的快照频率较大的话,建议适当减小这个参数
# preAllocSize=65536 ## 快照
## 每进行snapCount次事务日志输出后,触发一次快照(snapshot), 此时,ZK会生成一个snapshot.*文件,同时创建一个新的事务日志文件log.*。默认是100000.(真正的代码实现中,会进行一定的随机数处理,以避免所有服务器在同一时间进行快照而影响性能)
# snapCount=100000 ## 用于记录所有请求的log,一般调试过程中可以使用,但是生产环境不建议使用,会严重影响性能
# traceFile= ## session 超时时间,单位为毫秒
## 默认值分别为2和20,即tickTime的2倍和20倍
# minSessionTimeout=2
# maxSessionTimeout=20 ## 不支持以系统属性方式配置
## 从Socket层面限制单个客户端与单台服务器之间的并发连接数,即以ip地址来进行连接数的限制。如果设置为0,表示不做任何限制。仅仅是单台客户端与单个Zookeeper服务器连接数的限制,不能控制所有客户端的连接数总和
# maxClientCnxns=60 ## 单位为字节
## 配置单个数据节点上可以存储的最大数据量大小。在变更该参数时,需要变更集群中所有机器以及客户端上均设置才能生效。
# jute.maxbuffer=1048575 ## 单位为字节,仅支持系统属性方式配置:jute.maxBuffer。用于配置单个数据节点上可以存储的最大数据量大小。在变更该参数时,需要变更集群中所有机器以及客户端上均设置才能生效。
# clientPortAddress= ## 默认值为3,不支持以系统属性方式配置。用于配置Zookeeper在自动清理的时候需要保留的快照数据文件数量和对应的事务日志文件。此参数的最小值为3,如果配置的值小于3会自动调整到3。
# autopurge.snapRetainCount=3 ## 默认值为0,单位为小时,不支持以系统属性方式配置。用于配置Zookeeper进行历史文件自动清理的频率。如果配置为0或负数,表示不需要开启定时清理功能。
 autopurge.purgeInterval=1
 
 ## 最大保留文件的个数,搭配 autopurge.purgeInterval 使用
 autopurge.snapRetainCount=3 ## 默认值为1000,单位为毫秒,仅支持系统属性方式配置
## 配置Zookeeper进行事务日志fsync操作时消耗时间的报警阈值。一旦fsync操作消耗的时间大于该参数指定的值,就在日志中打印出报警日志
# fsync.warningthresholdms=1000
 
## 默认值为yes,可配置项为“yes”和“no”,仅支持系统属性方式配置
##配置Zookeeper服务器是否在提交的时候,将日志写入操作强制刷入磁盘,默认情况下,每次事务日志写入操作都会实时刷入磁盘,如果设置为“no”,则能一定程度的提高ZooKeeper的写性能,但会存在类似机器断电等安全风险。
## forceSync=yes ## 默认值为yes,可选配置项为“yes”和“no”,仅支持系统属性方式配置
## 用于配置Leader服务器是否能够接受客户端的连接,即是否允许Leader向客户端提供服务。默认情况下,Leader服务器能够接受并处理客户端的所有读写请求。在Zookeeper的架构设计中,Leader服务器主要用来进行对事务更新
# leaderServes=yes ## 默认值为no,可选配置项为“yes”和“no”,仅支持系统属性方式配置
## 用于配置ZooKeeper服务器是否跳过ACL权限检查,默认情况下,会对每一个客户端请求进行权限检查。如果设置为“yes”,则能一定程度的提高ZooKeeper的读写性能,但同时也将向所有客户端开放Zookeeper的数据,包括之前设置过ACL权限的数据节点,也不在接受权限控制
# skipAcl=no ## 默认值为5000,单位毫秒,仅支持系统属性方式配置
## 配置在Leader选举过程中各服务器之间进行TCP连接创建的超时时间
# cnxTimeout=5000

zookeeper 集群安装与配置的更多相关文章

  1. zookeeper集群安装与配置

    转自: http://my.oschina.net/u/2377453/blog/464739 1.解压zookeeper 2.在$ZOOKEEPER_HOME/conf下创建zoo.cfg文件(参考 ...

  2. Zookeeper 集群安装配置,超详细,速度收藏!

    今天,栈长分享下 Zookeeper 的集群安装及配置. 下载 下载地址:http://zookeeper.apache.org/ 下载过程就不说了,我们下载了最新的zookeeper-3.4.11. ...

  3. Zookeeper 集群安装配置

    今天,栈长分享下 Zookeeper 的集群安装及配置. 下载 下载地址:http://zookeeper.apache.org/ 下载过程就不说了,我们下载了最新的zookeeper-3.4.11. ...

  4. ActiveMQ 高可用集群安装、配置(ZooKeeper + LevelDB)

    ActiveMQ 高可用集群安装.配置(ZooKeeper + LevelDB) 1.ActiveMQ 集群部署规划: 环境: JDK7 版本:ActiveMQ 5.11.1 ZooKeeper 集群 ...

  5. 原创:centos7.1下 ZooKeeper 集群安装配置+Python实战范例

    centos7.1下 ZooKeeper 集群安装配置+Python实战范例 下载:http://apache.fayea.com/zookeeper/zookeeper-3.4.9/zookeepe ...

  6. hbase和ZooKeeper集群安装配置

    一:ZooKeeper集群安装配置 1:解压zookeeper-3.3.2.tar.gz并重命名为zookeeper. 2:进入~/zookeeper/conf目录: 拷贝zoo_sample.cfg ...

  7. 1、zookeeper集群安装

    前提准备3台centos7.0虚拟机 c7003:192.168.70.103 c7004:192.168.70.104 c7005:192.168.70.105 并在三台虚拟机上配置hosts为 1 ...

  8. Zookeeper集群安装Version3.5.1

    Zookeeper集群安装,基于版本3.5.1, 使用zookeeper-3.5.1-alpha.tar.gz安装包. 1.安装规划 zookeeper集群模式,安装到如下三台机器 10.43.159 ...

  9. Springboot 2.0.x 集成基于Centos7的Redis集群安装及配置

    Redis简介 Redis是一个基于C语言开发的开源(BSD许可),开源高性能的高级内存数据结构存储,用作数据库.缓存和消息代理.它支持数据结构,如 字符串.散列.列表.集合,带有范围查询的排序集,位 ...

随机推荐

  1. 在php中怎么利用js把参数传递给弹窗

    1.在php页面中经常用到把参数传递给弹窗页面,在弹窗页面中操作 2.两种方式,截图为一种 3.最常见的就是利用hideen隐藏域,点击按钮的时候把要传递的参数值传递给隐藏域,需要的时候在弹窗中获取. ...

  2. css的定位笔记

    relative:相对定位. 1. 不论其父元素和相邻元素的position是什么,均相对于自身原来的位置来偏移. 2. 不会脱离文档流,其原来的位置依然保留着,不会被文档中其他的元素占用. 3. 原 ...

  3. FineReport软件

    # FineReport常见问题与解答 ### FineReport是什么?FineReport,企业级web报表工具,中国报表软件知名品牌.借助于FineReport的无码理念,用户可以轻松的构建出 ...

  4. private 与 super

    public class Person { private String name; private int age; } public class Student extends Person { ...

  5. java基础(四) java运算顺序的深入解析

    1. 从左往右的计算顺序   与C/C++不同的是,在Java中,表达式的计算与结果是确定的,不受硬件与环境的影响.如: int i = 5; int j = (i++) + (i++) +(i++) ...

  6. 使用Axure设计中,大型的后台系统原型总结

    使用Axure设计中,大型的后台系统原型总结 2018年4月16日luodonggan 在产品原型设计中,经常会涉及到后台系统原型的设计,如何设计出更规范标准的后台系统原型,是很多产品同行们都会遇到的 ...

  7. Windows自带强大的入侵检测工具——Netstat 命令 查询是否中木马

    Netstat命令可以帮助我们了解网络的整体使用情况.根据Netstat后面参数的不同,它可以显示不同的网络连接信息.Netstat的参数如图,下面对其中一些参数进行说明.如何检测本机是否有被中木马, ...

  8. Oracle案例11——Oracle表空间数据库文件收缩

    我们经常会遇到数据库磁盘空间爆满的问题,或由于归档日志突增.或由于数据文件过多.大导致磁盘使用紧俏.这里主要说的场景是磁盘空间本身很大,但表空间对应的数据文件初始化的时候就直接顶满了磁盘空间,导致经常 ...

  9. asp.net 對象圖解

  10. 阿里云ECS服务器环境搭建 ubuntu 16.04 图形界面的安装

    https://blog.csdn.net/zwq912318834/article/details/80528374