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. mac 更新macOS Sierra 之后无法正常关机

    参考网址h:ttps://www.zhihu.com/question/50940249 这里就简单记录一下,因为网上写的仔细的比较少,我也写一份,希望病友们可以更方便的找到解决办法 其实就是mysq ...

  2. nvflash 报错解决

    0.首先给出nvflash官网下载地址: https://www.techpowerup.com/download/nvidia-nvflash/ 刷入命令 nvflash xxx.rom 多显卡刷入 ...

  3. 如何优雅使用Coursera ? —— Coursera 视频缓冲 & 字幕遮挡

    Coursera 视频缓冲 其实这个问题的根本是coursera上视频源d3c33hcgiwev3.cloudfront.net被墙,而ss的pac并未及时更新所导致的. 1 chrome 插件 - ...

  4. Fragment的setUserVisibleHint方法实现懒加载

    public abstract class LazyFragment extends Fragment {     protected boolean isVisible;     /**       ...

  5. Android之TabHost实现Tab切换

    TabHost是整个Tab的容器,包含TabWidget和FrameLayout两个部分,TabWidget是每个Tab的表情,FrameLayout是Tab内容. 实现方式有两种: 1.继承TabA ...

  6. gearman入门初步

    原文地址:http://blog.sina.com.cn/s/blog_5f54f0be0101btsi.html     PHP 没有提供直接的并发功能.要实现并发,必须: function asy ...

  7. python中的字符串编码问题——4.unicode编解码(以实际工作中遇到的韩文编码为例)

    韩文unicode编解码  问题是这样,工作中遇到有韩文数据出现乱码,说是unicode码. 类似这样: id name 323 52186863 149 63637538 314 65516863 ...

  8. LeetCode 题解之Find Peak Element

    1.题目描述 2.题目分析 在数组的首尾各加入INT_MIN ,然后遍历数组. 3.代码 int findPeakElement(vector<int>& nums) { ) ; ...

  9. Oracle EBS AP 供应商地点失效

    /* 供应商地点失效 creation: created by jenrry 20161108 1.00 */ DECLARE lv_return_status ) := NULL; ln_msg_c ...

  10. FileTable的创建和使用

    1. 首先要在实例级别启用FILESTREAM,打开Sql Server Configuration Manager窗口,双击需要设置的SQL SERVER实例进行设置. 2. 需要更改 SQL SE ...